字符類:是一個(gè)括在括號中的可選擇的字符集食店,例如[Jj]材义、[0-9]青责、[A~Za-z]或[0-9]挺据。這里“-”表示的是一個(gè)范圍,而“”表示補(bǔ)集-
如果字符類中包含“-”爽柒,那么它必須是第一項(xiàng)或最后一項(xiàng)吴菠;如果要包含“[”,那么它必須是第一項(xiàng)浩村;如果要包含“^”做葵,那么它可以是除開始位置之外的任何位置。日中你只需要轉(zhuǎn)義“[”和“\”
預(yù)定義字符類
注:
1心墅、大部分字符都可以與它們自身匹配
2酿矢、“.”符號可以匹配任何字符(不包含行終終止)
3、使用\作為轉(zhuǎn)義字符怎燥,例如瘫筐,. 匹配句號\匹配反斜杠
4、^和$分別匹配一行的開頭和結(jié)尾
5铐姚、如果X和Y是正則表達(dá)式策肝,那么XY表示“任何X的匹配后面跟隨Y的匹配”,“X|Y”表示“任何X或Y的匹配”隐绵。
6之众、可以將量詞運(yùn)用到表達(dá)式X:X+(1個(gè)或多個(gè))、X(0或多個(gè))依许、X棺禾?(0個(gè)或1個(gè))
7、默認(rèn)情況下峭跳,量詞要匹配能夠使整個(gè)匹配成功的最大可能重復(fù)次數(shù)膘婶。你可以修改這種行為,方法是使用后綴蛀醉?(使用勉強(qiáng)或吝嗇匹配悬襟,也就是最小的重復(fù)次數(shù))或使用后綴+(使用占有或貪婪匹配,就是即使讓整個(gè)匹配失敗拯刁,也要匹配最大的重復(fù)次數(shù))古胆。例如字符串cab的匹配[a-z]ab,但不匹配[a-z]+ab,在第一種情況中逸绎,表達(dá)式[a-z]ab只匹配字符c,似的字符ab匹配該模式的剩余部分夭谤;但是貪婪匹配版本[a-z]*ab將匹配cab棺牧,模式的剩余部分將無法匹配。
8朗儒、我們使用群組來定義表達(dá)式颊乘,其中群組用()括起來,例如醉锄,([+-]?)([0-9]+)乏悄。干后你可以詢問模式匹配起,讓其返回每個(gè)組的匹配恳不,或者用\n來引用某個(gè)群組檩小,其中n是群組好(從\1開始)