Regex常用字元、代碼

來源:互聯網
上載者:User

表1.常用的元字元 代碼 說明 
. 匹配除分行符號以外的任一字元 
\w 匹配字母或數字或底線或漢字 
\s 匹配任意的空白符 
\d 匹配數字 
\b 匹配單詞的開始或結束 
^ 匹配字串的開始 
$ 匹配字串的結束


表2.常用的限定符 代碼/文法 說明 
* 重複零次或更多次 
+ 重複一次或更多次 
? 重複零次或一次 
{n} 重複n次 
{n,} 重複n次或更多次 
{n,m} 重複n到m次


表3.常用的反義代碼 代碼/文法 說明 
\W 匹配任意不是字母,數字,底線,漢字的字元 
\S 匹配任意不是空白符的字元 
\D 匹配任意非數位字元 
\B 匹配不是單詞開頭或結束的位置 
[^x] 匹配除了x以外的任一字元 
[^aeiou] 匹配除了aeiou這幾個字母以外的任一字元


表4.常用分組文法 分類 代碼/文法 說明 
捕獲 (exp) 匹配exp,並捕獲文本到自動命名的組裡 
(?<name>exp) 匹配exp,並捕獲文本到名稱為name的組裡,也可以寫成(?'name'exp) 
(?:exp) 匹配exp,不捕獲匹配的文本,也不給此分組分配組號 
零寬斷言 (?=exp) 匹配exp前面的位置 
(?<=exp) 匹配exp後面的位置 
(?!exp) 匹配後面跟的不是exp的位置 
(?<!exp) 匹配前面不是exp的位置 
注釋 (?#comment) 這種類型的分組不對Regex的處理產生任何影響,用於提供注釋讓人閱讀


表5.懶惰限定符 代碼/文法 說明 
*? 重複任意次,但儘可能少重複 
+? 重複1次或更多次,但儘可能少重複 
?? 重複0次或1次,但儘可能少重複 
{n,m}? 重複n到m次,但儘可能少重複 
{n,}? 重複n次以上,但儘可能少重複

 

表6.常用的處理選項 名稱 說明 
IgnoreCase(忽略大小寫) 匹配時不區分大小寫。 
Multiline(多行模式) 更改^和$的含義,使它們分別在任意一行的行首和行尾匹配,而不僅僅在整個字串的開頭和結尾匹配。(在此模式下,$的精確含意是:匹配\n之前的位置以及字串結束前的位置.)  
Singleline(單行模式) 更改.的含義,使它與每一個字元匹配(包括分行符號\n)。  
IgnorePatternWhitespace(忽略空白) 忽略運算式中的非轉義空白並啟用由#標記的注釋。 
ExplicitCapture(顯式捕獲) 僅捕獲已被顯式命名的組。

這裡的介紹很簡略,如果你需要更詳細的資訊,而又沒有在電腦上安裝MSDN Library,可以查看關於Regex語言元素的MSDN線上文檔。
表7.尚未詳細討論的文法 代碼/文法 說明 
\a 警示字元(列印它的效果是電腦嘀一聲) 
\b 通常是單詞分界位置,但如果在字元類裡使用代表退格 
\t 定位字元,Tab 
\r 斷行符號 
\v 豎向定位字元 
\f 換頁符 
\n 分行符號 
\e Escape 
\0nn ASCII代碼中八進位代碼為nn的字元 
\xnn ASCII代碼中十六進位代碼為nn的字元 
\unnnn Unicode代碼中十六進位代碼為nnnn的字元 
\cN ASCII控制字元。比如\cC代表Ctrl+C 
\A 字串開頭(類似^,但不受處理多行選項的影響) 
\Z 字串結尾或行尾(不受處理多行選項的影響) 
\z 字串結尾(類似$,但不受處理多行選項的影響) 
\G 當前搜尋的開頭 
\p{name} Unicode中命名為name的字元類,例如\p{IsGreek} 
(?>exp) 貪婪子運算式 
(?<x>-<y>exp) 平衡組 
(?im-nsx:exp) 在子運算式exp中改變處理選項 
(?im-nsx) 為運算式後面的部分改變處理選項 
(?(exp)yes|no) 把exp當作零寬正向先行斷言,如果在這個位置能匹配,使用yes作為此組的運算式;否則使用no 
(?(exp)yes) 同上,只是使用空運算式作為no 
(?(name)yes|no) 如果命名為name的組捕獲到了內容,使用yes作為運算式;否則使用no 
(?(name)yes) 同上,只是使用空運算式作為no

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.