我想做一个图案。
例如,我的输入是
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
答案 0 :(得分:3)
您可以使用
Regex.Replace(str, @"\s+\[.*?(?=\b\d+(?:-|$))", "")
请参见C# demo和regex demo。
正则表达式图:
要点:
.*
应该是非贪婪的(.*?
尽可能少地匹配任何字符)(?:-|$)
匹配一个-
字符或字符串位置的结尾。