解釋正則表示式中的 C# 分組構造


有各種型別的字元、運算子和構造,使您可以定義正則表示式。

其中之一是分組構造。分組構造描述正則表示式的子表示式並捕獲輸入字串的子字串。下表列出了分組構造。

分組構造 描述 模式 匹配
( 子表示式 ) 捕獲匹配的子表示式併為其分配一個基於零的序數。 (\w)\1 "ee" 在 "deep" 中
(?< name >子表示式) 將匹配的子表示式捕獲到命名組中。 (?< double>\w)\k< double> "ee" 在 "deep" 中
(?< name1 -name2 >子表示式) 定義平衡組定義。 (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ "((1-3)*(3-1))" 在 "3+2^((1-3)*(3-1))" 中
(?: 子表示式) 定義非捕獲組。 Write(?:Line)? "WriteLine" 在 "Console.WriteLine()" 中
(?imnsx-imnsx:子表示式) 子表示式內應用或停用指定的選項 A\d{2}(?i:\w+)\b "A12xl", "A12XL" 在 "A12xl A12XL a12xl" 中
(?= 子表示式) 零寬度正向先行斷言。 \w+(?=\.) "is", "ran", 和 "out" 在 "He is. The dog ran. The sun is out." 中
(?! 子表示式) 零寬度負向先行斷言。 \b(?!un)\w+\b "sure", "used" 在 "unsure sure unity used" 中
(?< =子表示式) 零寬度正向後行斷言。 (?< =19)\d{2}\b "51", "03" 在 "1851 1999 1950 1905 2003" 中
(?< ! 子表示式) 零寬度負向後行斷言。 (?< !19)\d{2}\b "ends", "ender" 在 "end sends endure lender" 中
(?> 子表示式) 非回溯(或“貪婪”)子表示式。 [13579](?>A+B+) "1ABB", "3ABB", 和 "5AB" 在 "1ABB 3ABBC 5AB 5AC" 中

更新於: 2019年7月30日

217 次檢視

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.