1

我需要在任何长度的文本中找到单词(我知道),如下所示。

My text is very beautyfull. Yours  $text is very bautyfull. Their #text, is very beautyfull

#并且$只是样本。我可以有任何非字母数字字符

我找到了以下正则表达式:

(?<=^|[^a-zA-Z0-9])\Q<word>\E(?=$|[^a-zA-Z0-9])

#text如果我搜索or , tath 工作得很好$text,但是当我只搜索它时,text它匹配所有出现(在下面的示例中为三个)而不是只有一个出现text。有没有办法用正则表达式做到这一点?

4

1 回答 1

0

#将和添加$到第一个否定的 char 类,该类存在于肯定的lookbehind中。这样它就不会匹配text前面的字符串#or $or a-zor A-Zor0-9

(?<=^|[^a-zA-Z0-9$#])\Qtext\E(?=$|[^a-zA-Z0-9])

演示

于 2014-10-24T09:32:05.950 回答