正则表达式最后匹配 C#

本文关键字:最后 正则表达式 | 更新日期: 2023-09-27 18:32:54

我有这样的字符串:

   test- qweqw (Barcelona - Bayer) - testestsetset

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

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

示例:https://regex101.com/r/wI9zD0/2如您所见,它的工作有点不正确。我应该解决什么问题?

正则表达式最后匹配 C#

这是一个不同的正则表达式来执行您正在寻找的操作:

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

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

你不需要正则表达式,你可以使用 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