正则表达式匹配单词边界但如果单词有任何前缀或后缀

时间:2016-05-27 13:09:02

标签: regex notepad++

我正在尝试找出正则表达式以匹配单词边界,但如果它有任何前缀或后缀,则排除该单词。我能够使用单词边界找到单词,但它不排除单词的某些模式。

我正在使用的方式是:

\bfindword\b

因为我正在使用\ b,所以它并没有消除某些模式。实施例中,

.findword
findword.
/findword
findword/
.findword.
foo.findword.bar

我在Notepad ++中尝试这个

1 个答案:

答案 0 :(得分:3)

您可以使用外观来确定边界:

\b(?<![./])findword\b(?![./])
  ^^^^^^^^^          ^^^^^^^^

如果在该字词之前有(?<![./]).,则/ lookbehind将无法匹配,如果有{(?![./])前瞻将使匹配失败在单词之后{1}}或.

enter image description here