正則表達式例子詳解?
一、行定位符(^和$)
行定位符就是用來描述字串的邊界。“^”表示行的開始;“$”表示行的結尾。如:
^tm : 該表達式表示要匹配字串tm的開始位置是行頭,如tm equal Tomorrow Moon就可以匹配
tm$ : 該表達式表示要匹配字串tm的位置是行尾,Tomorrow Moon equal tm匹配。
如果要匹配的字串可以出現(xiàn)在字符串的任意部分,那么可以直接 寫成 :tm
二、單詞定界符(\b、\B)
單詞分界符\b,表示要查找的字串為一個完整的單詞。如:\btm\b
還有一個大寫的\B,意思和\b相反。它匹配的字串不能是一個完整的單詞,而是其他單詞或字串的一部分。如:\Btm\B
三、字符類([ ])
正則表達式是區(qū)分大小寫的,如果要忽略大小寫可使用方括號表達式“[]”。只要匹配的字符出現(xiàn)在方括號內,即可表示匹配成功。但要注意:一個方括號只能匹配一個字符。例如,要匹配的字串tm不區(qū)分大小寫,那么該表達式應該寫作如下格式:[Tt][Mm]
POSIX風格的預定義字符類如表所示:
四、選擇字符(|)
還有一種方法可以實現(xiàn)上面的匹配模式,就是使用選擇字符(|)。該字符可以理解為“或”,如上例也可以寫成 (T|t)(M|m),該表達式的意思是以字母T或t開頭,后面接一個字母M或m。
使用“[]”和使用“|”的區(qū)別在于“[]”只能匹配單個字符,而“|”可以匹配任意長度的字串。如果不怕麻煩,上例還可以寫為 :TM|tm|Tm|tM
五、連字符(-)
變量的命名規(guī)則是只能以字母和下劃線開頭。但這樣一來,如果要使用正則表達式來匹配變量名的第一個字母,要寫為 :[a,b,c,d…A,B,C,D…]
這無疑是非常麻煩的,正則表達式提供了連字符“-”來解決這個問題。連字符可以表示字符的范圍。如上例可以寫成 :[a-zA-Z]