仅删除XXX,因为它前面没有其他单词



我有一个正则表达式,可以在匹配之前删除一个单词和一个单词,效果非常好 - (?i)s*S+s+bXXXb

我需要调整这个正则表达式,所以它只删除 XXX,因为它前面没有其他单词。所以如果我有

三十 美国广播公司

,它输出"ABC"。

试试这个正则表达式:

(?i)(?:s*S+s+)?bXXXb

点击查看演示

我只是将此(?:s*S+s+)?设为可选

从您的评论中:

我的意思是,如果字符串以 XXX 开头,那么只需删除 XXX

然后只需匹配^XXX并用空字符串替换匹配项。

var regex = new Regex("^XXX");
regex.Replace("XXX ABC", "")

如果您想将XXX与其后面的任何非单词字符匹配,例如

",XXX ABC" -> ", ABC"
"    XXX ABC" -> "     ABC"

试试这个正则表达式:

^(W*)XXX

并替换为$1.

最新更新