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 @   天天代码码天天  阅读(102)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示