介绍正则表达式中的”循环体”语法,其实循环体是作者定义的,正确的描述是限定符。
通过不同的限定符,提供不同的匹配次数的作用。其基本语法是:表达式|限定符组合。
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}
之间不能有空格。