- C# 基础教程
- C# - 首页
- C# - 概述
- C# - 环境
- C# - 程序结构
- C# - 基本语法
- C# - 数据类型
- C# - 类型转换
- C# - 变量
- C# - 常量
- C# - 运算符
- C# - 决策
- C# - 循环
- C# - 封装
- C# - 方法
- C# - 可空类型
- C# - 数组
- C# - 字符串
- C# - 结构体
- C# - 枚举
- C# - 类
- C# - 继承
- C# - 多态
- C# - 运算符重载
- C# - 接口
- C# - 命名空间
- C# - 预处理器指令
- C# - 正则表达式
- C# - 异常处理
- C# - 文件I/O
C# - 分组结构
分组结构描述正则表达式的子表达式并捕获输入字符串的子字符串。下表列出了分组结构:
分组结构 | 描述 | 模式 | 匹配 |
---|---|---|---|
( 子表达式 ) | 捕获匹配的子表达式并为其分配一个基于零的序数。 | (\w)\1 | "deep"中的"ee" |
(?< name >子表达式) | 将匹配的子表达式捕获到命名组中。 | (?< double>\w)\k< double> | "deep"中的"ee" |
(?< name1 -name2 >子表达式) | 定义平衡组定义。 | (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ | "3+2^((1-3)*(3-1))"中的"((1-3)*(3-1))" |
(?: 子表达式) | 定义非捕获组。 | Write(?:Line)? | "Console.WriteLine()"中的"WriteLine" |
(?imnsx-imnsx:子表达式) | 在子表达式内应用或禁用指定的选项。 | A\d{2}(?i:\w+)\b | "A12xl", "A12XL" in "A12xl A12XL a12xl" |
(?= 子表达式) | 零宽正向断言。 | \w+(?=\.) | "He is. The dog ran. The sun is out."中的"is", "ran"和"out" |
(?! 子表达式) | 零宽负向断言。 | \b(?!un)\w+\b | "unsure sure unity used"中的"sure", "used" |
(?< =子表达式) | 零宽正向后顾断言。 | (?< =19)\d{2}\b | "1851 1999 1950 1905 2003"中的"99", "50", "05" |
(?< ! 子表达式) | 零宽负向后顾断言。 | (?< !19)\d{2}\b | "1851 1999 1950 1905 2003"中的"51", "03" |
(?> 子表达式) | 非回溯(或“贪婪”)子表达式。 | [13579](?>A+B+) | "1ABB 3ABBC 5AB 5AC"中的"1ABB", "3ABB"和"5AB" |
csharp_regular_expressions.htm
广告