解释正则表达式中的 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" 中 |
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP