簡體   English   中英

正則表達式最后匹配C#

[英]regex expression last match C#

我有這樣的字符串:

   test- qweqw (Barcelona - Bayer) - testestsetset

而且我需要捕獲Bayer word。我嘗試了此正則表達式(在“-”和“)”之間)

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

示例: https : //regex101.com/r/wI9zD0/2如您所見,它的工作方式有點不正確。我該怎么解決?

這是一個不同的正則表達式,可以滿足您的需求:

-\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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM