【正则】限定符-总

【01】总
 
限定符
 
用来指定正则表达式的一个给定的字符组合必需要出现多少次才能知足匹配。有*或+或?或{n}或{n,}或{n,m}共6种。
 
【】魔芋:这样的都是优先匹配最长字符串的。因此称为贪婪匹配。
好比:/a+/ 会匹配“aaaaa”的aaaa。而不是a
 

 

  • \?\*\+ 表示匹配字符串”?*+”
  • [?*+]表示匹配一个问号,或者一个*号,或者一个加号
 
 

 

【】n能够是被括号括起来的总体。n能够是子表达式。
do(es)+ //这时n为es正则表达式

 
 

正则表达式的限定符有:
 

n*spa

n匹配0次或屡次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。orm

0+ci

 

 

n+字符串

n匹配1次或屡次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。it

1+class

 

 

 

n?im

n匹配0次或1次。例如,"do(es)?" 能够匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。margin

0或1di

 

 

n{X}

X是一个非负整数。匹配 X次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',可是能匹配 "food" 中的两个 o。

 

 

n{X,}

X是一个非负整数。至少匹配X次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的全部 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

 

n{X,Y}

X 和 Y 均为非负整数,其中X <= Y。最少匹配X且最多匹配Y次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

 

 

在使用“*”和“?”时要注意,因为这些字符可能匹配0个字符,所以它们容许什么都不匹配。
例如,正则表达式/a*/实际上与字符串“bbbb”匹配,由于这个字符串含有0个a。
 
 
 
 
 

**

相关文章
相关标签/搜索