如果想要查找數(shù)字,字母或數(shù)字,空白是很簡(jiǎn)單的,因?yàn)閷?duì)應(yīng)這些字符集合的元字符是已經(jīng)存在的了,不過(guò)要想匹配像元音字母a,e,i,o,u這些沒(méi)有預(yù)先定義元字符的字符集合該怎么做呢?
有個(gè)很簡(jiǎn)單的方法,只需要在方括號(hào)里列出它們就可以了,像[aeiou]
就匹配任何一個(gè)英文元音字母,[.?!]
匹配標(biāo)點(diǎn)符號(hào)(.或?或!)。
我們也可以輕松地指定一個(gè)字符范圍,像[0-9]
代表的含意與\d
就是完全一致的:一位數(shù)字;同理[a-z0-9A-Z_]
也完全等同于\w
(如果只考慮英文的話)。
下面是一個(gè)更復(fù)雜的表達(dá)式:\(?0\d{2}[) -]?\d{8}
。
這個(gè)表達(dá)式可以匹配幾種格式的電話號(hào)碼,像(010)88886666,或022-22334455,或02912345678等。我們對(duì)它進(jìn)行一些分析吧:首先是一個(gè)轉(zhuǎn)義字符\(
,它能出現(xiàn)0次或1次(?
),然后是一個(gè)0
,后面跟著2個(gè)數(shù)字(\d{2}
),然后是)
或-
或空格
中的一個(gè),它出現(xiàn)1次或不出現(xiàn)(?
),最后是8個(gè)數(shù)字(\d{8}
)。
注解:
更多建議: