--- notion-id: c5a04489-9bf8-4ed5-bd87-185770230b10 --- | 分组构造 | 描述 | 模式 | 匹配 | | --- | --- | --- | --- | | `(` subexpression`)` | 捕获匹配的子表达式并将其分配到一个从 1 开始的序号中。 | `(\w)\1` | `"deep"` 中的 `"ee"` | | `(?<` name`>`subexpression`)`或`(?'` name`'`subexpression`)` | 将匹配的子表达式捕获到一个命名组中。 | `(?\w)\k` | `"deep"` 中的 `"ee"` | | `(?<` name1`-`name2`>`subexpression`)`或`(?'` name1`-`name2`'`subexpression`)` | 定义平衡组定义。 有关详细信息,请参阅 [分组构造](https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/grouping-constructs-in-regular-expressions)中的"平衡组定义"部分。 | `(((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$` | `"3+2^((1-3)*(3-1))"` 中的 `"((1-3)*(3-1))"` | | `(?:` subexpression`)` | 定义非捕获组。 | `Write(?:Line)?` | `"Console.WriteLine()"` 中的 `"WriteLine"``"Console.Write(value)"` 中的 `"Write"` | | `(?imnsx-imnsx:` subexpression`)` | 应用或禁用 *子表达式*中指定的选项。 有关详细信息,请参阅 [正则表达式选项](https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/regular-expression-options)。 | `A\d{2}(?i:\w+)\b` | `"A12xl A12XL a12xl"` 中的 `"A12xl"` 和 `"A12XL"` | | `(?=` subexpression`)` | 零宽度正预测先行断言。 | `\b\w+\b(?=.+and.+)` | `"cats"`, `"dogs"`in`"cats, dogs and some mice."` | | `(?!` subexpression`)` | 零宽度负预测先行断言。 | `\b\w+\b(?!.+and.+)` | `"and"`, `"some"`, `"mice"`in`"cats, dogs and some mice."` | | `(?<=` subexpression`)` | 零宽度正回顾后发断言。 | `\b\w+\b(?<=.+and.+)`———————————`\b\w+\b(?<=.+and.*)` | `"some"`, `"mice"`in`"cats, dogs and some mice."`————————————`"and"`, `"some"`, `"mice"`in`"cats, dogs and some mice."` | | `(?` subexpression`)` | 原子组。 | `(?>a|ab)c` | `"ac"` 中的 `"ac"``"abc"`中无匹配 |