C#分組構造正則表達式
分組構造界定輸入字符串的正則表達式和捕獲子子表達式。下表列出的分組構造:
分組構造 | 描述 | 模式 | 匹配 |
---|---|---|---|
( subexpression ) | 捕獲匹配的子表達式,並為其分配一個從零開始的序號 | (w)1 | "ee" 在 "deep" 中 |
(?< name >subexpression) | 捕獲匹配的子表達式到一個名為group的組中 | (?< double>w)k< double> | "ee" 在 "deep" 中 |
(?< name1 -name2 >subexpression) | 定義均衡組 | (((?'Open'()[^()]*)+((?'Close-Open'))[^()]*)+)*(?(Open)(?!))$ | "((1-3)*(3-1))" 在 "3+2^((1-3)*(3-1))" 中 |
(?: subexpression) | 定義非捕獲組 | Write(?:Line)? | "WriteLine" 在 "Console.WriteLine()" 中 |
(?imnsx-imnsx:subexpression) | 適用或禁止在指定的選項 subexpression. | Ad{2}(?i:w+) | "A12xl", "A12XL" 在 "A12xl A12XL a12xl" 中 |
(?= subexpression) | 零寬度正前向斷言 | w+(?=.) | "is", "ran", and "out" 在"He is. The dog ran. The sun is out." 中 |
(?! subexpression) | 零寬度負前向斷言 | (?!un)w+ | "sure", "used" 在"unsure sure unity used" 中 |
(?< =subexpression) | 零寬度正反向預搜索斷言 | (?< =19)d{2} | "51", "03" 在 "1851 1999 1950 1905 2003" 中 |
(?< ! subexpression) | 零寬度負向後斷言 | (?< !19)d{2} | "ends", "ender" 在 "end sends endure lender" 中 |
(?> subexpression) | 非回溯(與“貪婪”)子表達式 | [13579](?>A+B+) | "1ABB", "3ABB", 和 "5AB" in "1ABB 3ABBC 5AB 5AC" |