我有一个简单的字符串:

data1:abc,123,xyz,data2:hello,goodbye


我需要正则表达式返回以下项的匹配集合:

abc
123
xyz


在过去,我会使用正则表达式来做到这一点:

data1:(.*)data2:


然后在逗号上分割输出。

有没有一种方法可以将其作为一个正则表达式而无需外部代码呢?

最佳答案

尝试这个

String text = "data1:abc,123,xyz,data2:hello,goodbye";
Regex reg = new Regex(@"(?<=data1:.*)[^,]+(?=.*data2)");

MatchCollection result = reg.Matches(text);

foreach (var item in result) {
    Console.WriteLine(item.ToString());
}


输出:


  abc
  123
  y

关于c# - 在比赛中比赛,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9704515/

10-14 04:52