一.正則表達式的介紹與作用:
我們在處理數據的時候,經常會有查找符合某些複雜規則的字符串的需要。正則表達式就是用於描述這些規則的語法。
正則表達式的主要作用是分割、匹配、查找、替換。
正則表達式不僅可以幫助我們完成一些通過函數無法實現的工作,還可以幫助我們減輕很多工作量。
二.正則表達式的類型:
以perl語言爲基礎的正則,比較規範,執行效率更高,有起始符和結束符
以Posix爲基礎的正則
三.正則表達式中的元素:
1.原子(普通字符:[a-zA-Z0-9] ,原子表,轉義字符)
a. a-z A-Z 0-9 //常見的字符
b. (abc) (xyz) //用圓括號包含起來的單元符,把abc,xyz看成一個模塊來匹配
c. [abc] [^abc] //用方括號包含的原子表,原子表中的^代表排除或者相反內容。與b.相反
d. 轉義字符:\d 包含所有數字[0-9] \B 除所有數字外[^0-9] \w 包含所有英文字符[a-zA-Z] \W 除所有英文字符外[^a-zA-Z] \s 包含空白區域如回車,換行,分頁等[\f\n\r]
2.元字符(有特殊功能的字符:".","#","$")
. 匹配內容的0次1次或多次,但不包含回車換行
+ 匹配前一個內容的1次或多次
?匹配前一個內容的0次或1次
| 選擇匹配類似PHP中的| (因爲這個運算符合是弱類型導致前面最爲整體匹配)
^ 匹配字符串首部內容
$ 匹配字符串尾部內容
\b 匹配單詞邊界,邊界可以是空格或者特殊符合
\B 匹配除帶單詞邊界意外內容
{m} 匹配前一個內容的重複次數爲M次
{m,} 匹配前一個內容的重複次數大於等於M次
{m,n} 匹配前一個內容的重複次數M次到N次
( ) 合併整體匹配,並放入內存,可使用\1 \2…依次獲取