1 元字符 []
1.1匹配若干字符之一
如果我們要匹配單詞‘grey’,同時(shí)又不確定它是否被寫作為‘gray’,就可以使用正則表達(dá)式結(jié)構(gòu)體[...]:
gr[ea]y
它的意思是匹配g 然后r 然后 是 e或者 a 最后是 y。
在一個字符組中可以列舉任意多的字符,例如:[123456],匹配1-6中的日益一個數(shù)字。
在字符組內(nèi)部。字符組元字符 - 表示一個范圍 [123456]與[1-6]是一個意思
只有在字符組內(nèi)部 - 才表示范圍,但即使是在字符組內(nèi)它也不一定表示范圍,如果它出現(xiàn)在字符組的開頭,它只是一個普通字符。同樣?和.在字符組中也只是普通字符 [0-9A-Z_!.?] 中只有兩 - 是元字符
1.2排除型字符組
用[^...]取代[...],這個字符組就會匹配任何未列出的字符,如:
[^1-6]匹配除了1到6以外的任何字符。
在這個字符中^表示 排除,這里列出的是不希望匹配的字符
1.3用點(diǎn)號匹配任意字符
元字符 . 是用來匹配任意字符的字符組的簡便寫法
如果我們要檢索01/02/03或者 01-02-03或者01.02.03
我們可以使用 01[-./]02[-./]03 也可以使用 03.02.03
2元字符 |
| 元字符是或的意思,依靠它我們能把不同的子表達(dá)式組合成一個總的表達(dá)式,而這個表達(dá)式又能夠匹配任意的子表達(dá)式。如:
Bob 和 Rob 是兩個表達(dá)式,但 Bob | Rob 就是能夠同時(shí)匹配其中任意一個的正則表達(dá)式。再這樣的組合中子表達(dá)式成為“多選分支”。
上面的 gr[ea]y 可以寫成 grey|gray 或者 gr(a|e)y。
對表達(dá)式gr(a|e)y來說,括號是必須的如果沒有括號 意思就變?yōu)?gra或者ey了。
3單詞分界符
使用正則的時(shí)候有時(shí)我們會想要匹配一個 單詞,例如 我們要匹配 cat,
二忽略cats。這是就需要單詞分界符了,<和>,分解可以匹配單詞的開始和結(jié)束 。<cat>就會拿只匹配 cat 這個單詞。
4可選項(xiàng)元素
現(xiàn)在我們來匹配color或者colour。我們可以用元字符 color|colour,但這樣寫比較麻煩,使用元字符?更簡單 colou?r,?代表可選項(xiàng)。把他放在一個字符的后面,就表示此處容許出現(xiàn)這個字符,不過它的出現(xiàn)并不是匹配成功的必要條件。
5其他量詞 重復(fù)出現(xiàn)
+和*的作用于?類似。
+表示之前緊鄰的元素出現(xiàn)一次或多次,
表示之前緊鄰的元素出現(xiàn)多次或不出現(xiàn),
...?于...永遠(yuǎn)不會匹配失敗,區(qū)別只是在于他們匹配的結(jié)果。