【正則】限定符-總

【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。
 
 
 
 
 

**

相關文章
相關標籤/搜索