1-4 正則表表達(dá)式—數(shù)量詞

數(shù)量詞

數(shù)量詞,是專門規(guī)定一個字符集出現(xiàn)次數(shù)的規(guī)則;

  • 今后,只要一個字符集在規(guī)則中可能連續(xù)反復(fù)出現(xiàn)多次,就要用數(shù)量詞以簡寫方式定義出現(xiàn)次數(shù)。
  • 如何:數(shù)量詞緊跟在其修飾的字符集之后,默認(rèn)修飾相 鄰的前一個字符集
  • 比如:手機(jī)號中連續(xù)的9個數(shù)字\d,可進(jìn)一步簡寫為:

1[3-8]\d{9}

\d{9} = \d*9

所以我們可以得出一個結(jié)論,字符集只管內(nèi)容,而數(shù)量詞只管數(shù)量。

問題:短信驗證碼的數(shù)字可能是4位或6位,不確定位數(shù)
數(shù)量詞包括兩大類:

  1. 有明確數(shù)量邊界的數(shù)量詞;
    字符集{n}:表示字符集必須重復(fù)n次,不能多也不能少;
    字符集{n,m}: 表示字符集至少重復(fù)n次,最多重復(fù)m次,比如: \d{4,6} 表示4到6位數(shù)字;
    字符集{n,}:表示字符集匹配的內(nèi)容至少重復(fù)n次,多了不 限,比如:\d{6,} 表示6位以上數(shù)字;

2.正則為我們簡化了一些常用沒有明確數(shù)量邊界的數(shù)量詞;
* : 可有可無,多了不限,相當(dāng)于{0,};
? : 可有可無,最多一次, 相當(dāng)于{0,1};
+ : 至少一次,多了不限, 相當(dāng)于{1,};

練習(xí):

  • 匹配手機(jī)短信中的驗證碼:連續(xù)的4~6位數(shù)字
    答案: \d{4,6}
  • 匹配字符串中的一組連續(xù)空字符
    答案: \s+

問題:屏蔽敏感詞時,屌絲把字換成拼音就查不出來了 。
錯誤的做法: 字符集只認(rèn)識單個字,不認(rèn)識cao是整體。

image.png

我解決這個問題,正則表達(dá)式又引入選擇和分組的概念。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 正則表達(dá)式是匹配模式,匹配字符或者匹配位置。 一、字符匹配 1.兩種模糊匹配 1.1 橫向模糊匹配 一個正則可匹配...
    菜菜的小阿允閱讀 1,730評論 0 0
  • \ :將下一字符標(biāo)記為特殊字符、文本、反向引用或八進(jìn)制轉(zhuǎn)義符。例如,"n"匹配字符"n"。"\n"匹配換行符。序列...
    小沙鷹168閱讀 612評論 0 1
  • NSRegularExpression 正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法。(英語:Regular Expre...
    SunshineBrother閱讀 7,751評論 3 25
  • 本文目標(biāo) 30分鐘內(nèi)讓你明白正則表達(dá)式是什么,并對它有一些基本的了解,讓你可以在自己的程序或網(wǎng)頁里使用它。一旦入門...
    不吃飯會餓閱讀 3,892評論 0 8
  • 正則表達(dá)式(regular expression)是一種可以在許多現(xiàn)代應(yīng)用程序和編程語言中使用的特殊形式的代碼模式...
    Android輪子哥閱讀 11,986評論 4 16

友情鏈接更多精彩內(nèi)容