gdjlc

培养良好的习惯,每天一点一滴的进步,终将会有收获。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
常用分组语法
分类代码/语法说明
捕获 (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

 

posted on 2015-07-21 15:30  gdjlc  阅读(361)  评论(0编辑  收藏  举报