介绍正则表达式中的”循环体”语法,其实循环体是作者定义的,正确的描述是限定符。
通过不同的限定符,提供不同的匹配次数的作用。其基本语法是:表达式|限定符组合。
0x00 循环体:表达式|*
- 含义:将表达式循环匹配零次或多次。
- 例如:
Hello* - 解析:
- 表达式为
字符o - 循环语句为
*(零次或多次)
- 表达式为
- 结果:可以匹配
Hell,Hello,Helloo和Hellooo等等。
0x01 循环体:表达式|+
- 含义:将表达式循环匹配一次或多次。
- 例如:
Hello+ - 解析:
- 表达式为
字符o - 循环语句为
*(一次或多次)
- 表达式为
- 结果:可以匹配
Hello,Helloo和Hellooo等等,但不能匹配Hell。
0x02 循环体:表达式|?
- 含义:将表达式循环匹配一次或多次。
- 例如:
Hello? - 解析:
- 表达式为
字符o - 循环语句为
?(零次或一次)
- 表达式为
- 结果:只能匹配
Hell和Hello。
0x03 循环体:表达式|{n}
- 含义:将表达式循环匹配确定的n次。
- 例如:
Hello{2} - 解析:
- 表达式为
字符o - 循环语句为
{2}(只能匹配两次)
- 表达式为
- 结果:只能匹配
Helloo。
0x04 循环体:表达式|{n,}
- 含义:将表达式循环匹配至少n次。
- 例如:
Hello{2,} - 解析:
- 表达式为
字符o - 循环语句为
{2,}(至少两次)
- 表达式为
- 结果:能匹配
Helloo,Hellooo,Helloooo等等。
0x05 循环体:表达式|{n,m}
- 含义:将表达式循环匹配最少n次且最多m次。
- 例如:
Hello{2,3} - 解析:
- 表达式为
字符o - 循环语句为
{2,3}(最少两次且最多三次)
- 表达式为
- 结果:只能匹配
Helloo,Hellooo等等。
注意
{n},{n,},{n,m}之间不能有空格。