c# 正则提取小例子

来源:互联网 发布:阿里云解析dns 编辑:程序博客网 时间:2024/05/29 15:56
常用分组语法分类代码/语法说明捕获(exp)匹配exp,并捕获文本到自动命名的组里(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号零宽断言(?=exp)匹配exp前面的位置(?<=exp)匹配exp后面的位置(?!exp)匹配后面跟的不是exp的位置(?<!exp)匹配前面不是exp的位置注释(?#comment)这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读


[csharp] view plain copy print?
  1. //提取payaccno中间的账号  
  2. string input = @"  
  3.         <payaccno>6227000000000000001</payaccno>  
  4.         <payaccname>张三</payaccname>  
  5.         <payaccno>6227000000000000002</payaccno>  
  6.         <payaccname>李四</payaccname>                     
  7.     ";  
  8. Regex reg = new Regex(@"(?<=<payaccno>)(\d+)(?=</payaccno>)+");  
  9. var matches = reg.Matches(input);  
  10. string result = "";  
  11. foreach (var m in matches)  
  12. {  
  13.     result += m + ",";  
  14. }  
  15. result = result.TrimEnd(',');  
  16. //结果:6227007201840000001,6227007201840000002 
原创粉丝点击