1.’^’ :脫字符號
例子:
^cat :匹配的是以c作為一行的第一個字符,a為第二個字符,t為第三個字符的文本
2.‘[]’:字符組 匹配若干字符之一
例子:
h[ea]llo: 匹配的是,h,接着是是e或a,接着是l,再接着是l,再接着是o的文本
[^…]取代[….] :匹配的是任何未列出的字符
例子:
[^1-6]: 匹配的是除了1到6的任何字符
3.‘|’ :多選結構。 匹配任意子表達式
例子:
Bob | Bobhai :匹配其中任意一個的正則表達式
yao(h|H)ai: 匹配出來的文本要么是yaohai,要么是yaoHai .注:yao[h|H]ai 不符合要求,這里的‘|’和‘h’ 和 ‘H’ 都是普通字符
字符組與多選結構的區別:
一個字符組只能匹配目標文本的字符,而每個多選結構自身都是完整的正則表達式,都可以匹配任意長度的文本。
4.‘-i’忽略大小寫
5.‘.’ 匹配任意字符的字符組
例子:
202.03.3:可以匹配字符串20210313,或20222313等。
6.“‘\<’ and ‘\>’”單詞分界符
‘\<’:匹配單詞的開頭
‘\>’: 匹配單詞的結尾
例子:
\<cat\>:意思為“匹配單詞的開頭位置,然后是c.a.t這三個字母,最后匹配單詞的結束位置“。
7.‘-’ 連字符
在字符組內表示范圍:例:[1-9]表示匹配1到9中的任意一個字符,而 1-9 中‘-’和‘1’,‘9’都是普通字符
8.‘?’ 可選項元素
‘?’:可以不出現,也可以只出現一次(單次可選)
例子:
u? :可以匹配 apple ,也可以匹配return
u?r :不可以匹配apple因為沒有‘r’,可以匹配enter,‘u’在r之前可有可沒有。
9.‘+’ ‘*’ 重復出現
‘+’:之前緊鄰的元素可以出現一次或多次
‘*’:之前的元素出現任意多次,或者不出現
‘+’和‘*’的區別:
‘*’匹配盡可能多的次數,如果實在無法匹配,匹配不到不要緊。‘+’匹配盡可能多的次數,但是如果一次都沒有匹配到,就報告失敗。
10.’\’ 轉義字符
\后跟元字符符號,將元字符看作普通字符看待(特殊的含‘\’元字符組合除外).
例:
\([a-z]+\) :左邊反斜杠轉義字符把左括號‘(’ 轉義為普通字符,右邊飯斜杠把右括號‘)’轉義之后。整個正則表達式的作用就是匹配括號能的單詞(小寫字母,‘+’之前緊鄰的元素可以出現一次或多次)
未寫全,請諒解。