首頁  >  文章  >  後端開發  >  非列印字元、特殊字元、限定符實例用法(正規表示式字元集2)

非列印字元、特殊字元、限定符實例用法(正規表示式字元集2)

巴扎黑
巴扎黑原創
2018-05-18 16:14:032838瀏覽

非列印字元

字元    意義    

\cx    符合由x指明的控製字元。例如, \cM 符合一個 Control-M 或回車符。 x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 ‘c’ 字符。    

\f    符合一個換頁符號。等價於 \x0c 和 \cL。    

\n    符合一個換行符號。等價於 \x0a 和 \cJ。    

\r    配對一個回車符號。等價於 \x0d 和 \cM。    

\s    符合任何空白字符,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。    

\S    符合任何非空白字元。等價於 [^ \f\n\r\t\v]。    

\t    符合一個製表符。等價於 \x09 和 \cI。    

\v    符合一個垂直製表符。等價於 \x0b 和 \cK。

特殊字符

   所謂特殊字符,就是一些有特殊含義的字符,如上面說的”*.txt”中的*,簡單的說就是表示任何字串的意思。若要找文件名稱中有*的文件,則需要對*進行轉義,即在其前面加一個\。 ls \*.txt。正規表示式有以下特殊字元。

特別字元       說明    

$                  與輸入字串中配對時的結尾位置。如果設定了 RegExp 物件的 Multiline 屬性,則 $ 也符合 ‘\n’ 或 ‘\r’。若要符合 $ 字元本身,請使用 \$。    

( )                標記一個子運算式的起始位置和結束位置。子表達式可以取得以供以後使用。若要匹配這些字符,請使用 \( 和 \)。    

*                  配對前面的子運算式零次或多次。若要匹配 * 字符,請使用 \*。    

+                 將前面的子運算式一次或多次配對。若要匹配 + 字符,請使用 \+。    

.                   符合依換行符號為 \n以外的任何單一字元。若要符合 .,請使用 \。    

[                  標記一個中括號運算式的開始。若要符合 [,請使用 \[。    

?                  配對前面的子運算式零次或一次,或指示一個非貪婪限定符。若要匹配 ? 字符,請使用 \?。    

\                  將下一個字元標記為或特殊字元、或原義字元、或向後引用、或八進位轉義符。例如, ‘n’ 匹配字元 ‘n’。 ’\n’ 符合換行符號。序列 '\\' 符合“\”,而 '\(' 則符合“(”。   

^                  與輸入字串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字元集合。之間的一個選擇。式結合在一起來創建更大的表達式。限定符

   限定符用來指定正規表示式的一個給定元件必須要出現多少次才能滿足符合。 n,m}共6種。或最小符合。符合「z」 以及「zoo」。 * 等價於{0,}。 ,但不能符合「z」。

?                   搭配前面的子運算式零次或一次。例如,”do(es)?” 可以符合 “do” 或 “does” 中的”do” 。 ? 等價於 {0,1}。    

{n}                 n 為非負整數。配對確定的 n 次。例如,’o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的兩個 o。    

{n,}               n 為非負整數。至少匹配n 次。例如,’o{2,}’ 不能符合 “Bob” 中的 ‘o’,但能符合 “foooood” 中的所有 o。 ’o{1,}’ 等價於 ‘o+’。 ’o{0,}’ 則等價於 ‘o*’。    

{n,m}    m 與 n 皆為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,”o{1,3}” 將符合 “fooooood” 中的前三個 o。 ’o{0,1}’ 等價於 ‘o?’。請注意逗號和兩個數字之間不能有空格。    

以上是非列印字元、特殊字元、限定符實例用法(正規表示式字元集2)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn