我們已經(jīng)知道了一些很有用的正則表達(dá)式的元字符了,比如\b,.,*
,還有\d.
當(dāng)然正則表達(dá)式中包含的元字符多種多樣,比如\s
匹配任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格等。\w
匹配字母或數(shù)字或下劃線或漢字等。
下面來看看更多的例子:
\ba\w*\b
匹配以字母a
開頭的單詞——先是某個單詞開始處(\b
),然后是字母a
,然后是任意數(shù)量的字母或數(shù)字(\w*
),最后是單詞結(jié)束處(\b
)。
\d+
匹配1個或更多連續(xù)的數(shù)字。這里的+
是和*
類似的元字符,不同的是*
匹配重復(fù)任意次(可能是0次),而+
則匹配重復(fù)1次或更多次。
\b\w{6}\b
匹配剛好6個字符的單詞。
代碼 | 說明 |
---|---|
. | 匹配除換行符以外的任意字符 |
\w | 匹配字母或數(shù)字或下劃線 |
\s | 匹配任意的空白符 |
\d | 匹配數(shù)字 |
\b | 匹配單詞的開始或結(jié)束 |
^ | 匹配字符串的開始 |
$ | 匹配字符串的結(jié)束 |
元字符^
(和數(shù)字6在同一個鍵位上的符號)和$
都匹配一個位置,這和\b
有點類似。^
匹配你要用來查找的字符串的開頭,$
匹配結(jié)尾。這兩個代碼在驗證輸入的內(nèi)容時非常有用,比如一個網(wǎng)站如果要求你填寫的QQ號必須為5位到12位數(shù)字時,可以使用:^\d{5,12}$
。
這里的{5,12}
和前面介紹過的{2}
是類似的,只不過{2}
匹配只能不多不少重復(fù)2次,{5,12}
則是重復(fù)的次數(shù)不能少于5次,不能多于12次,否則都不匹配。
因為使用了^
和$
,所以輸入的整個字符串都要用來和\d{5,12}
來匹配,也就是說整個輸入必須是5到12個數(shù)字,因此如果輸入的QQ號能匹配這個正則表達(dá)式的話,那就符合要求了。
和忽略大小寫的選項類似,有些正則表達(dá)式處理工具還有一個處理多行的選項。如果選中了這個選項,^
和$
的意義就變成了匹配行的開始處和結(jié)束處。
\w
。不錯,這與學(xué)習(xí)英文時要背的成千上萬個同名的東西的確關(guān)系不大 :)^
和$
的話,對于\d{5,12}
而言,使用這樣的方法就只能保證字符串里包含5到12連續(xù)位數(shù)字,而不是整個字符串就是5到12位數(shù)字。
更多建議: