RegEx带有特殊字符的单词边界

时间:2013-04-09 16:54:23

标签: regex

我需要替换带有特殊字符的单词。 例如:

Regex.Replace("Cap' sa* zeesa*total", @"\bsa*\b", "----") is not working.

输出:

"Cap' ---- zeesatotal"

2 个答案:

答案 0 :(得分:0)

*在正则表达式中具有特殊含义,用于替换正则表达式中需要使用*的文字\*字符,或者将其放在字符类中。

您还需要删除\b,因为它只会在单词字符和非单词字符之间匹配。这意味着它在*和字符串中的空格之间不匹配。如果您不想在\B后面的字符是单词字符时匹配,也可以将其更改为*

尝试将正则表达式更改为以下内容:

@"\bsa\*"

或者:

@"\bsa[*]"

答案 1 :(得分:0)

应该是这样的:

/(?:(?<!\w)([*]\w*+|\w+[*]\w*+))/