JS正規表示式從入門到入土(5)—— 量詞

格子熊發表於2018-07-04

量詞

很多時候,我們需要匹配一個連續出現很多次字元的字串,比如,我們要匹配一個連續出現20次的數字的字串,按照之前的寫法:

dddddddddddddddddddd

是不是感覺快瘋了?很慶幸,使用正則提供的量詞,我們就可以快速解決這個問題。

量詞的使用方法如下:

字元 含義
? 出現零次或一次(最多出現一次)
+ 出現一次或多次(至少出現一次)
* 出現零次或多次(任意次)
{n} 出現n次
{n,m} 出現n到m次
{n,} 至少出現n次

那麼該如何使用量詞實現之前的問題?

很簡單,只需要:

d{20}

如果想要匹配最多出現n次該怎麼辦?很多人會想模仿至少出現n次,寫成{,n},但是正則會直接將其當做普通字串,只有寫成{0, n}才能實現匹配至多n次。

相關文章