加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 正则表达式以获得所有匹配的位置

发布时间:2020-12-16 00:23:26 所属栏目:百科 来源:网络整理
导读:我们来看看这段代码 var input = @"a:1b:22a:3b:44";var pattern = @"b:([^n]+)n";var match = Regex.Match(input,pattern); 我得到的结果是在下面的快照. 我们如何获得b的值列表,例如{22,44}? 我只能看到22. 解决方法 使用Regex.Matches方法而不是Regex.
我们来看看这段代码

var input = @"
a:1
b:22

a:3
b:44
";

var pattern = @"b:([^n]+)n";
var match = Regex.Match(input,pattern);

我得到的结果是在下面的快照.

我们如何获得b的值列表,例如{22,44}?

我只能看到22.

解决方法

使用Regex.Matches方法而不是Regex.Match.这是MSDN的一个例子

string pattern = "a*";
string input = "abaabb";

foreach (Match m in Regex.Matches(input,pattern)) 
   Console.WriteLine("'{0}' found at index {1}.",m.Value,m.Index);

如果你想要一个匹配值列表

Regex.Matches(input,pattern).Select(m => m.Value).ToList();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读