正则表达式在 Notepad++ 中仅删除匹配多个字符的短语中的一个单词

正则表达式在 Notepad++ 中仅删除匹配多个字符的短语中的一个单词

我有一个重复出现的单词,它出现在我网页的任何地方,并且它内置在 HTML 页面中。我想使用 Notepad++ 中的正则表达式删除这个单词,并且只删除所有单词。

问题是,该单词也是另一个单词的一部分,当我尝试删除它时,两个字母匹配的另一个单词也会被部分删除。

以下是一个例子:

<div>
<p>No November</p>
</div>

从我的例子可以看出,我需要找到一种方法来不删除“十一月”,而只删除“否”这个词。请说明我该如何做到这一点。

答案1

您可以在替换框中输入此内容

Find what: (?<![a-zA-Z])[Nn][Oo](?![a-zA-Z])
Replace with:                                     //blank

按照你的例子,它看起来应该是这样的:

<div>
<p> November</p>
</div>

如果您希望删除前面或后面的空格,可以使用以下命令:

Find what: ( |(?<![a-zA-Z]))[Nn][Oo]( |(?![a-zA-Z]))
Replace with:                                     //blank

按照你的例子,它看起来应该是这样的:

<div>
<p>November</p>
</div>

答案2

\b尝试在搜索词之前和之后放置正则表达式:

因此No,不要搜索 ,而要搜索\bNo\b。这只能找到 No 前后没有任何内容的情况,例如“November”。

答案3

寻找:(No)[\s\S]*?(november)[\s\S]*?

替换为:\2

相关内容