如何使用正则表达式制作图案,如下所示?

时间:2019-05-07 10:12:44

标签: c# .net regex

我想做一个图案。

例如,我的输入是

string str = "15-16-00-014716 AND15- [  ] (5) Description of 16-00-014715";

预期输出为

15-16-00-014716 AND15-16-00-014715

我尝试过以下正则表达式:

Regex.Replace(YourString, @"\s+\[.*(?=\b\d+)","");

但是输出就像

15-16-00-014716 AND15-0-014715

1 个答案:

答案 0 :(得分:3)

您可以使用

Regex.Replace(str, @"\s+\[.*?(?=\b\d+(?:-|$))", "")

请参见C# demoregex demo

正则表达式图:

enter image description here

要点:

  • .*应该是非贪婪的(.*?尽可能少地匹配任何字符)
  • (?:-|$)匹配一个-字符或字符串位置的结尾。