0

我试图在字符串中匹配#TEST .. 可以说它的“这是一个#TEST”

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

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

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

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

edit2:转义我的文字..

4

3 回答 3

1

您可能可以使用:

(^|\W)TEST\b

正则表达式演示

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

于 2015-03-03T18:22:42.227 回答
0

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

所以:'\\b#TEST\\b'

于 2015-03-03T18:20:42.847 回答
0

您可以通过断言 # 来克服这一点,但它不会成为匹配的一部分。
但是,它也不会匹配其他任何东西。

\b(?<=#)TEST\b

所以传入(?<=#)TEST

于 2015-03-03T18:36:21.270 回答