分类 | 代码/语法 | 说明 |
---|---|---|
捕获 | (exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp) | 匹配exp,并捕获文本到名称为name的组里,也可以写成(?‘name‘exp) | |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 | |
零宽断言 | (?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 | |
(?!exp) | 匹配后面跟的不是exp的位置 | |
(?<!exp) | 匹配前面不是exp的位置 | |
注释 | (?#comment) | 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读 |
//提取payaccno中间的账号 string input = @" <payaccno>6227000000000000001</payaccno> <payaccname>张三</payaccname> <payaccno>6227000000000000002</payaccno> <payaccname>李四</payaccname> "; Regex reg = new Regex(@"(?<=<payaccno>)(\d+)(?=</payaccno>)+"); var matches = reg.Matches(input); string result = ""; foreach (var m in matches) { result += m + ","; } result = result.TrimEnd(‘,‘); //结果:6227007201840000001,6227007201840000002
时间: 2024-11-11 20:28:21