我想做一个图案。
比如我的输入是
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
最佳答案
你可以使用
Regex.Replace(str, @"\s+\[.*?(?=\b\d+(?:-|$))", "")
参见 C# demo和 regex demo .
正则表达式图:
要点:
.*
应该是非贪婪的(.*?
匹配尽可能少的任何字符)(?:-|$)
匹配-
字符或字符串结束位置。
关于c# - 如何使用正则表达式制作如下所示的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56020318/