C#分组构造

分组构造描述正则表达式的子表达式并捕获输入字符串的子字符串。下表列出了分组结构:

分组结构 描述 模式 匹配
( subexpression ) 捕获匹配的子表达式,并将其分配为从零开始的序数 (\w)\1 "ee"匹配"deep"
(?< name >subexpression) 将匹配的子表达式捕获到命名组中 (?< 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) 在子表达式中应用或禁用指定的选项 A\d{2}(?i:\w+)\b "A12xl", "A12XL" 匹配 "A12xl A12XL a12xl"
(?= subexpression) 零宽正向前瞻断言 \w+(?=\.) "is", "ran", 和 "out" 匹配 "He is. The dog ran. The sun is out."
(?! subexpression) 零宽度负向前瞻断言 \b(?!un)\w+\b "sure", "used" 匹配 "unsure sure unity used"
(?< =subexpression) 零宽度正向后断言 (?< =19)\d{2}\b "51", "03" 匹配 "1851 1999 1950 1905 2003"
(?< ! subexpression) 零宽度负向后断言 (?< !19)\d{2}\b "ends", "ender" 匹配 "end sends endure lender"
(?> subexpression) 非追溯(或“贪懒”)子表达式 [13579](?>A+B+) "1ABB", "3ABB""5AB" 匹配 "1ABB 3ABBC 5AB 5AC"

上一篇: C#正则表达式 下一篇: C#异常处理