正則表達(dá)式之字符類

2018-08-04 16:45 更新

如果想要查找數(shù)字,字母或數(shù)字,空白是很簡單的,因為對應(yīng)這些字符集合的元字符是已經(jīng)存在的了,不過要想匹配像元音字母a,e,i,o,u這些沒有預(yù)先定義元字符的字符集合該怎么做呢?

有個很簡單的方法,只需要在方括號里列出它們就可以了,像[aeiou]就匹配任何一個英文元音字母,[.?!]匹配標(biāo)點符號(.或?或!)。

我們也可以輕松地指定一個字符范圍,像[0-9]代表的含意與\d就是完全一致的:一位數(shù)字;同理[a-z0-9A-Z_]也完全等同于\w(如果只考慮英文的話)。

下面是一個更復(fù)雜的表達(dá)式:\(?0\d{2}[) -]?\d{8}。

這個表達(dá)式可以匹配幾種格式的電話號碼,像(010)88886666,或022-22334455,或02912345678等。我們對它進(jìn)行一些分析吧:首先是一個轉(zhuǎn)義字符\(,它能出現(xiàn)0次或1次(?),然后是一個0,后面跟著2個數(shù)字(\d{2}),然后是)-空格中的一個,它出現(xiàn)1次或不出現(xiàn)(?),最后是8個數(shù)字(\d{8})。

注解:

  1. “(”和“)”也是元字符,后面的分組節(jié)里會提到,所以在這里需要使用轉(zhuǎn)義。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號