$number |
把匹配的第number組替換成替換表達式,還有這句話怎么寫也表達不清楚意思,還是來個例子吧: public static void Main() 這段代碼返回的是 “01 012 03 05” |
${name} | 把匹配的組名為"name"的組替換成表達式, 上例的Regex expression改成@"(?name>\d+)(?#這個是注釋)"后面的替換式改為"0${name}"結果是一樣的 |
$$ | 做$的轉義符,如上例表達式改成@"(?name>\d+)(?#這個是注釋)"和"$$${name}",則結果為"$1 $12 $3 $5" |
$ | 替換整個匹配 |
$` | 替換匹配前的字符 |
$' | 替換匹配后的字符 |
$+ | 替換最后匹配的組 |
$_ | 替換整個字符串 |
RegexOptions枚舉值 | 內聯標志 | 簡單說明 |
ExplicitCapture | n | 只有定義了命名或編號的組才捕獲 |
IgnoreCase | i | 不區分大小寫 |
IgnorePatternWhitespace | x | 消除模式中的非轉義空白并啟用由 # 標記的注釋。 |
MultiLine | m | 多行模式,其原理是修改了^和$的含義 |
SingleLine | s | 單行模式,和MultiLine相對應 |
語法是這樣的:(?i:expression)為定義一個選項,(?-i:expression)為刪除一個選項,(?i-s:expression)則定義i,刪除s,是的,我們可以一次定義很多個選項。這樣,通過內聯選項,你就可以在一個Regex中定義一個組為匹分大小寫的,一個組不匹分大小寫的,是不是很方便呢?