正規表示式學習筆記 (1)語法

2021-09-11 11:28:33 字數 2103 閱讀 7273

特別字元描述$

匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字元本身,請使用 \$。

( )標記乙個子表示式的開始和結束位置。子表示式可以獲取供以後使用。要匹配這些字元,請使用 \( 和 \)。

*匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 \*。

+匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 \+。

.匹配除換行符 \n 之外的任何單字元。要匹配 . ,請使用 \. 。

[標記乙個中括號表示式的開始。要匹配 [,請使用 \[。

?匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 \?。

\轉義字元,將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。例如, 'n' 匹配字元 'n'。'\n' 匹配換行符。序列 '\\' 匹配 "\",而 '\(' 則匹配 "("。

^匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 \^。

/([^# ]*)/  能匹配不包括 # 或空格字元的任何字串行

或  或  共6種。

字元描述

*匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於。

+匹配前面的子表示式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 。

?匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

n 是乙個非負整數。至少匹配n 次。例如,'o' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o' 等價於 'o+'。'o' 則等價於 'o*'。

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o" 將匹配 "fooooood" 中的前三個 o。'o' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。

*、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上乙個?就可以實現非貪婪或最小匹配。

通過在 *、+ 或 ? 限定符之後放置 ?,該表示式從"貪心"表示式轉換為"非貪心"表示式或者最小匹配。

定位符使您能夠將正規表示式固定到行首或行尾。它們還使您能夠建立這樣的正規表示式,這些正規表示式出現在乙個單詞內、在乙個單詞的開頭或者乙個單詞的結尾。

定位符用來描述字串或單詞的邊界,^ 和 $ 分別指字串的開始與結束,\b 描述單詞的前或後邊界,\b 表示非單詞邊界。

正規表示式的定位符有:

字元描述

^匹配輸入字串開始的位置。如果設定了 regexp 物件的 multiline 屬性,^ 還會與 \n 或 \r 之後的位置匹配。

$匹配輸入字串結尾的位置。如果設定了 regexp 物件的 multiline 屬性,$ 還會與 \n 或 \r 之前的位置匹配。

\b匹配乙個單詞邊界,即字與空格間的位置。 /\bcha/   /ter\b/  匹配chapter   不匹配aftera

\b非單詞邊界匹配。 /\bapt/ 匹配chapter   不匹配aptitude 

^ 和 [^指定字串] 之間的區別:

^ 指的是匹配字串開始的位置:(^[0-9])+ //匹配有一至多個數字的字串組合

[^指定字串] 指的是除指定字串以外的其他字串[^[0-9]]+ // 匹配有一至多個不含數字的字串組合

正規表示式(1 語法)

1.正規表示式 一種靈活而強大的文字處理工具 大部分程式語言,資料庫,文字編輯器,開發環境都支援正規表示式。正規表示式描述了一種規則,通過這個規則可以匹配一類字串 2.測試正則的工具 regexbuddy 3.正規表示式的語法 1.普通字元 字母,數字,下劃線,以及沒有特殊定義的標點符號,都是普通字...

正規表示式學習筆記(1)

一 i 忽略大小寫,注意僅是忽略大小寫,並不忽略全半形。二 g 全文查詢出現的所有匹配字元 三 m 1 多行查詢 2 m 影響 3 若不指定 m,則 只在字串的最開頭,只在字串的最結尾。即 匹配整個串的開始和結束 4 若指定 m,則 在字串每一行的開頭,在字串每一行的結尾。即 匹配每一行的開始和結束...

正規表示式學習筆記2 語法

1.號前的字元必須出現一次或多次,例如 abc d可以匹配abcd abccd abcccccd等。2.號前的字元可以不出現,也可以出現多次,例如 abc d可以匹配abd abcd abcccd等。3.前的字元只能不出現,或者出現一次,例如 abc?d只能匹配abd和abcd。4.匹配字串的結尾,...