用于匹配以特殊字符开头的单词的正则表达式

时间:2015-03-03 18:16:23

标签: regex special-characters word-boundaries

我试图在字符串中匹配#TEST ..让我们说“这是一个#TEST”

执行匹配的脚本会自动将搜索字符串包装在\ b标记中,以便生成的正则表达式如下所示:\ b#TEST \ b ..这显然不起作用。

如何更改搜索字符串以使其正常工作?

编辑:我选择更改包装功能,因此生成的表达式如下所示:

(?<!\S)#TEST(?!\S)

edit2:转义我的文字..

3 个答案:

答案 0 :(得分:1)

您可以使用:

(^|\W)TEST\b

RegEx Demo

即。匹配行开头或左侧TEST之前的非单词字符。

答案 1 :(得分:0)

'\'字符正在转义'b'字符。将'\ b'替换为'\\ b',假设您的函数字面上用'\ b'包装搜索字符串。

所以:     \\ B#TEST \\ B'

答案 2 :(得分:0)

你可以通过断言#来解决这个问题,但它不会成为比赛的一部分。
但是,它也不会与其他任何东西相匹敌。

\b(?<=#)TEST\b

传递(?<=#)TEST