正規表示式 學習手冊 二

2021-07-02 06:51:45 字數 2712 閱讀 7508

2.5.  修飾匹配次數的特殊符號

前面章節中講到的表示式,無論是只能匹配一種字元的表示式,

還是可以匹配多種字元其中任意乙個的表示式,都只能匹配一次。如果使用表示式再加上修飾匹配次數的特殊符號,那麼不用重複書

寫表示式就可以重複匹配。

使用方法是:"次數修飾"放在"被修飾的表示式"後邊。

表示式    

重複 n 次

比如:"/w" 相當於 "/w/w";

比如:"a" 相當於 "aaaaa";

比如:表示式 

"[bcd][bcd]"   可以寫成 "[bcd]"。

表示式   至少重複 m 次,最多重複 n 次,

比如:"ba"可以匹配 "ba"或"baa"或"baaa"

表示式   

至少重複 m 次

比如:"/w/d"可以匹配

"a12","_456","m12344"...

表示式  ?  

匹配 0 次或者 1 次,相當於  

比如:"a[cd]?"可以匹配 "a","ac","ad"

表示式  +  至少出現 1 次,相當於

比如:"a+b"可

以匹配 "ab","aab","aaab"...

表示式 *  不出現或出現任意次,相當於

比如:"/^*b"可以匹配 "b","^^^b"...

舉例 1:

表示式 "/d+/.?/d*" 在匹配 "it costs $12.5" 時,匹配的

結果是:成功;匹配到的內容是:"12.5";匹配到的位置是:開始於

10,結束於 14。

舉例 2:

表示式 "gogle" 在匹配 "ads by goooooogle" 時,匹配

的結果是:成功;匹配到的內容是:"goooooogle";匹配到的位置是:

開始於 7,結束於 17。

2.6.  其他一些代表抽象意義的特殊符號

一些符號在表示式中代表抽象的特殊意義:

表示式   ^  

與字串開始的地方匹配,不匹配任何字元

表示式  

$   

與字串結束的地方匹配,不匹配任何字元

表示式  

/b  

匹配乙個單詞邊界,也就是單詞和空格之間的位置,不

匹配任何字元

進一步的文字說明仍然比較抽象,因此,舉例幫助大家理解。

舉例 1:

表示式 "^aaa" 在匹配 "*** aaa ***" 時,匹配結果是:失敗。

因為 "^" 要求與字串開始的地方匹配,因此,只有當 "aaa" 位於字

符串的開頭的時候,"^aaa" 才能匹配,比如:"aaa *** ***"。

舉例 2:

表示式 "aaa$" 在匹配 "*** aaa ***" 時,匹配結果是:失敗。

因為 "$" 要求與字串結束的地方匹配,因此,只有當 "aaa" 位於字

符串的結尾的時候,"aaa$" 才能匹配,比如:"*** *** aaa"。

舉例 3:

表示式 "./b." 在匹配 "@@@abc" 時,匹配結果是:成功;

匹配到的內容是:"@a";匹配到的位置是:開始於 2,結束於 4。

進一步說明:"/b" 與 "^" 和 "$" 類似,本身不匹配任何字元,但是

它要求它在匹配結果中所處位置的左右兩邊,其中一邊是 "/w" 範圍,

另一邊是 非"/w" 的範圍。

舉例 4:

表示式 "/bend/b" 在匹配 "weekend,endfor,end" 時,匹配

結果是:成功;匹配到的內容是:"end";匹配到的位置是:開始於

15,結束於 18。

一些符號可以影響表示式內部的子表示式之間的關係:

表示式  |   作用

左右兩邊表示式之間 "或" 關係,匹配左邊或者右

表示式  ( )    有如下作用

(1). 在被修飾匹配次數的時候,括號中的表示式可

以作為整體被修飾

(2).  取匹配結果的時候,括號中的表示式匹配到的內

容可以被單獨得到

舉例 5:表示式 "tom|jack" 在匹配字串 "i'm tom, he is jack"

時,匹配結果是:成功;匹配到的內容是:"tom";匹配到的位置是:

內容是:"jack";匹配到的位置時:開始於 15,結束於 19。

舉例 6:

表示式 "(go/s*)+" 在匹配 "let's go go go!" 時,匹配結果是:

成功;匹配到內容是:"go go go";匹配到的位置是:開始於 6,結

束於 14。

舉例 7:

表示式 "¥(/d+/.?/d*)" 在匹配 "$10.9,¥20.5" 時,匹配的

結果是:成功;匹配到的內容是:"¥20.5";匹配到的位置是:開始

於 6,結束於 10。單獨獲取括號範圍匹配到的內容是:"20.5"。

第三片知識點博文:  

正規表示式手冊

正規表示式手冊 字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串...

正規表示式手冊

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果...

正規表示式 學習手冊 一

1.引言 正規表示式 regular expression 描述了一種字串匹配的模式,可以用來 1 檢查乙個串中是否含有符合某個規則的子串,並且可以得到這個子串 2 根據匹配規則對字串進行靈活的替換操作。2.正規表示式規則 2.1.普通字元 表示式 r 可匹配 回車表示式 n 可匹配 換行符表示式 ...