正则表达式最后一次匹配C#

时间:2016-02-01 16:15:20

标签: c# regex

我有这样的字符串:

   test- qweqw (Barcelona - Bayer) - testestsetset

我需要捕捉拜耳词。我尝试了这个正则表达式(在“ - ”和“)之间”)

(?<=-)(.*)(?=\))

示例:https://regex101.com/r/wI9zD0/2 如你所见它有点不正确。我应该修复什么?

2 个答案:

答案 0 :(得分:1)

这是一个不同的正则表达式来做你想要的:

-\s([^()]+)\)

https://regex101.com/r/wI9zD0/3

答案 1 :(得分:0)

你不需要正则表达式,你可以使用LINQ:

string input = "test - qweqw(Barcelona - Bayer) - testestsetset";

string res = String.Join("", input.SkipWhile(c => c != '(')
                                  .SkipWhile(c => c != '-').Skip(1)
                                  .TakeWhile(c => c != ')'))
                   .Trim();

Console.WriteLine(res);  // Bayer