c# - 如何使用正则表达式制作如下所示的模式?

标签 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

最佳答案

你可以使用

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

参见 C# demoregex demo .

正则表达式图:

enter image description here

要点:

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

关于c# - 如何使用正则表达式制作如下所示的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56020318/

相关文章:

c# - Process.Start 功能

java - replaceAll 边界和异常(exception)

Python 正则表达式拆分多个空格

javascript - 忽略 Javascript 正则表达式中的换行符

c# - WebRequest 错误 - 无法创建 SSL/TLS 安全通道

c# - 在 Mac OS X 上的 Xamarin Studio 6.1 中使用 System.Security.Cryptography 时出现程序集引用错误 (CS0234)

c# - C# 应用程序的 SQlite 部分耗时太长

c# - WPF多行按钮禁用

.net - IoC 容器——哪个最好? (。网)

c# - 部署OpenCV应用程序