用正则表达式解释C#分组构造
可以使用各种类别的字符,运算符和构造来定义正则表达式。
其中之一是分组构造。分组构造描述正则表达式的子表达式并捕获输入字符串的子字符串。下表列出了分组构造。
| 分组构造 | 描述 | 模式 | 匹配 | 
|---|---|---|---|
| (子表达式) | 捕获匹配的子表达式并为其分配一个从零开始的序数。 | (\ w)\ 1 | “ ee”中的“ deep” | 
| (?<名称>子表达式) | 将匹配的子表达式捕获到命名组中。 | (?<double> \ w)\ k <double> | “ ee”中的“ deep” | 
| (?<name1 -name2>子表达式) | 定义平衡组定义。 | (((?'Open'\()[^ \(\)] *)+((?'Close-Open'\))[^ \(\)] *)+)*(?(Open)(? !))$ | “ 3 + 2 ^((1-3)*(3-1))”中的“((1-3)*(3-1))” | 
| (?:子表达式) | 定义一个非捕获组。 | 写(?:行)? | “ Console.WriteLine()”中的“ WriteLine” | 
| (?imnsx-imnsx:子表达式) | 应用或禁用子表达式中的指定选项 | A \ d {2}(?i:\ w +)\ b | “ A12xl A12XL a12xl”中的“ A12xl”,“ A12XL” | 
| (?=子表达式) | 零宽度正向超前断言。 | \ w +(?= \。) | “他是。狗跑了。太阳出来了。”中的“是”,“奔跑”和“熄灭”。 | 
| (?!子表达式) | 零宽度否定超前声明。 | \ b(?!un)\ w + \ b | “不确定使用”中的“确定”,“已使用” | 
| (?<=子表达式) | 零宽度正向后断言。 | (?<= 19)\ d {2} \ b | “ 1851 1999 1950 1905 2003”中的“ 51”,“ 03” | 
| (?<!子表达式) | 零宽度负向后声明。 | (?<!19)\ d {2} \ b | “结束”中的“结束”,“提供者”发送持久贷款人 | 
| (?>子表达式) | 非回溯(或“贪婪”)子表达式。 | [13579](?> A + B +) | “ 1ABB 3ABBC 5AB 5AC”中的“ 1ABB”,“ 3ABB”和“ 5AB” | 
以上是 用正则表达式解释C#分组构造 的全部内容, 来源链接: utcz.com/z/322022.html
