簡例:
引用:using System.Text.RegularExpressions;
輸出:
正則表達式語法簡述:
正則表達式包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱爲“元字符”)。
若要匹配這些特殊字符之一,必須首先轉義字符,即,在字符前面加反斜槓字符 (/)。 例如,若要搜索“+”文本字符,可使用表達式“/+”。
標記次數:
*:零次或多次(匹配次數>=0)
+:一次或多次(匹配次數>=1)
?:零次或一次(匹配次數=0 or 1)
注:當 ? 緊隨任何其他限定符(*、+、?、{n}、{n,} 或 {n,m})之後時,匹配模式是非貪婪的。
非貪婪模式匹配搜索到的、儘可能少的字符串
而默認的貪婪模式匹配搜索到的、儘可能多的字符串。
{n}:匹配n次
{n,}:至少匹配n次
{n,m}:至少匹配n次,最多匹配m次。
標記位置:
^:開始(/n或/r後的位置)
$:結束(/n或/r前的位置)
/b:匹配邊界(字與空白)
/B:匹配非邊界(非字與空白)
其他特殊字符:
|:指示在兩個或多個項之間進行選擇。
字符匹配:
.:除換行符 /n 之外的任何單個字符
/f :換頁符
/n:換行符
/r:回車符
/t:Tab字符
/v:垂直製表符
/s:任何空白字符。 其中包括空格、製表符和換頁符。
/S:任何非空白字符。
/d:數字字符匹配
/D:非數字字符匹配
/w:與以下任意字符匹配:A-Z、a-z、0-9 和下劃線
/W:與除 A-Z、a-z、0-9 和下劃線以外的任意字符匹配
[xyz]:字符集。 與任何一個指定字符匹配
[^xyz]:反向字符集。 與未指定的任何字符匹配
注:對比^和[^xyz],前者爲開始的標記,後者表示反向
[a-z]:字符範圍。 匹配指定範圍內的任何字符
[^a-z]:反向字符範圍。 與不在指定範圍內的任何字符匹配
(模式):保存匹配項,
(?:模式): 不保存匹配項,
(?=模式): 不保存匹配項,匹配模式(匹配xxx)
(?!模式) :不保存匹配項,不匹配模式(匹配除xxx之外)
/cx:匹配x指示的控制字符,譬如組合鍵Ctrl+M
/xn:匹配一個十六進制轉義碼,譬如/x41匹配的是A
/num:對已保存匹配項的引用,譬如(a)/1匹配aa,(a)/1/1匹配aaa,(a)/1(b)/2/2匹配ababb
限定符:*、+、?、{n}、{n,} 或 {n,m}
正則表達式=組合( 匹配字符串表達式, 限定符)
記錄:
[a-z][1-9]{0,1} = [a-z]([1-9]{0,1})
不明白批註:
積極/消極的預測先行
/nm
/nml
/un