我看过另一个关于带有特殊字符的单词边界的话题,但我仍然无法解决我的问题。
我想匹配这个:
@_-amazingword_-
但不匹配:
@_-amazingword_--
是否有正则表达式?
请记住,这些单词可以放在文本的中间,例如:
This is an @_-amazingword_- everybody.
答案 0 :(得分:3)
字边界对您没有帮助,因为字符@
和-
都不是“字”字符。
相反,请使用环顾四周:
(?<=\s)@_-amazingword_-(?=\s)
看后面并向前看断言(但不匹配)前一个/下一个char是一个空格字符。
如果你想让它在输入的开始/结束时起作用,也可以在开始/结束时看看周围的匹配:
(?<=^|\s)@_-amazingword_-(?=\s|$)