c# 正则提取内容例子

 

分类

代码/语法

说明

捕获

(exp)

匹配exp,并捕获文本到自动命名的组里

(?<name>exp)

匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)

(?:exp)

匹配exp,不捕获匹配的文本,也不给此分组分配组号

零宽断言

(?=exp)

匹配exp前面的位置

(?<=exp)

匹配exp后面的位置

(?!exp)

匹配后面跟的不是exp的位置

(?<!exp)

匹配前面不是exp的位置

注释

(?#comment)

这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

 

//提取node2中间的值

string input = @"
        <node1>0001</node1>
        <node2>lxw</node2>
        <node3>002</node3>
        <node4>003</node4>                   
    ";
Regex reg = new Regex(@"(?<=<node2>)(\d+)(?=</node2>)+");
var matches = reg.Matches(input);
string result = "";
foreach (var m in matches)
{
    result += m + ",";
}
result = result.TrimEnd(',');
//结果:lxw

 

posted @ 2022-09-19 11:31  天天代码码天天  阅读(99)  评论(0编辑  收藏  举报  来源