1. 引言
正規表示式(regular expression)描述了一種字串匹配的模式,可以用來:
(1)檢查乙個串中是否含有符合某個規則的子串,並且可以得到這個子串;
(2)根據匹配規則對字串進行靈活的替換操作。
2. 正規表示式規則
2.1. 普通字元
表示式 \r
可匹配
回車表示式 \
n 可匹配
換行符表示式 \
t 可匹配
製表符表示式
\/ 可匹配
"/" 本身
字母、數字、漢字、下劃線、以及特殊定義的標
點符號,都是"普通字元"。表示式中的普通字元,在匹配乙個字元
串的時候,匹配與之相同的乙個字元。
舉例1:
表示式 "c",在匹配字串 "abcde" 時,匹配結果是:成
功;匹配到的內容是:"c";匹配到的位置是:開始於 2,結束於
3。(注:下標從 0 開始還是從 1 開始,因當前程式語言的不同而可
能不同)
舉例 2:
表示式 "bcd",在匹配字串 "abcde" 時,匹配結果是:
成功;匹配到的內容是:"bcd";匹配到的位置是:開始於 1,結束
於 4。
2.2. 簡單的轉義字元
一些不便書寫的字元,採用在前面加 "\" 的方法。
有特殊用處的標點符號,在前面加
"\"後,就代表該符號本身。比如:^, $ 都有特殊意義,如果要想匹
配字串中 "^" 和 "$" 字元,則表示式就需要寫成 "\^" 和 "\$"。
舉例 1:
表示式 "\$d",在匹配字串 "abc$de" 時,匹配結果是:
成功;匹配到的內容是:"$d";匹配到的位置是:開始於 3,結束於
5。2.3. 能夠與 ' 多種字元' 匹配的表示式
正規表示式中的一些表示方法,可以匹配 '多種字元' 其中的任
意乙個字元。
比如,表示式 "\d" 可以匹配 任意乙個數字。雖然可以
匹配其中任意字元,但是只能是乙個,不是多個。
表示式 " \w " 可匹配
任意乙個字母或數字或下劃線,也就是
a~z,a~z,0~9,_ 中任意乙個。
表示式 " \s " 可匹配
包括空格、製表符、換頁符等空白字元的其中任意乙個。
表示式 " . "
乙個小數點 可以匹配除了換行符(\n)以外的任意乙個
字元。
舉例 1:
表示式 "\d\d",在匹配 "abc123" 時,匹配的結果是:成功;匹配到的內容是:"12";匹配到的位置是:開始於 3,結束於5。
舉例 2:
表示式 "a.\d",在匹配 "aaa100" 時,匹配的結果是:成功;匹配到的內容是:"aa1";匹配到的位置是:開始於 1,結束於 4。
2.4. 自定義能夠匹配 ' 多種字元' 的表示式
使用方括號 [ ]包含一系列字元,能夠匹配其中任意乙個字元。
用[^ ]包含一系列字元,則能夠匹配其中字元之外的任意乙個字元。
同樣的道理,雖然可以匹配其中任意乙個,但是只能是乙個,不是
多個。表示式 [ab5@] 可匹配
"a" 或 "b" 或 "5" 或 "@"。
表示式 [^abc]
可匹配 "a","b","c" 之外的任意乙個字元。
表示式
[f-k] 可
匹配 "f"~"k" 之間的任意乙個字母。
表示式 [^a-f0-3]
可匹配 "a"~"f","0"~"3" 之外的任意乙個字元。
舉例 1:
表示式 "[bcd][bcd]" 匹配 "abc123" 時,匹配的結果是:
成功;匹配到的內容是:"bc";匹配到的位置是:開始於 1,結束於
3。舉例 2:
表示式 "[^abc]" 匹配 "abc123" 時,匹配的結果是:成功;
匹配到的內容是:"1";匹配到的位置是:開始於 3,結束於 4。
第二篇博文:
正規表示式手冊
正規表示式手冊 字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串...
正規表示式手冊
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果...
正規表示式 學習手冊 二
2.5.修飾匹配次數的特殊符號 前面章節中講到的表示式,無論是只能匹配一種字元的表示式,還是可以匹配多種字元其中任意乙個的表示式,都只能匹配一次。如果使用表示式再加上修飾匹配次數的特殊符號,那麼不用重複書 寫表示式就可以重複匹配。使用方法是 次數修飾 放在 被修飾的表示式 後邊。表示式 重複 n 次...