Regex不替换冒号之前的任何内容

本文关键字:任何内 替换 Regex | 更新日期: 2023-09-27 18:01:39

我想去掉电子邮件主题行的're:':

我的字符串助手扩展做以下事情:

  return Regex.Replace(value, "([re:][re :])", "",RegexOptions.IgnoreCase);

然而,它似乎在"re :"上匹配,而在"re:".上不匹配
这其中有什么原因吗?我该如何解决?

Regex不替换冒号之前的任何内容

你的意思可能是:

Regex.Replace(value, "re:|re :", "", RegexOptions.IgnoreCase);

也可以写成:

Regex.Replace(value, "re ?:", "", RegexOptions.IgnoreCase);

这里可能有一个更好的表达:

Regex.Replace(value, "^'s*re's*:'s*", "", RegexOptions.IgnoreCase);

只匹配字符串的开头(^),并删除后面的空格('s*)。