繁体   English   中英

Notepad++ 用逻辑 AND 搜索

[英]Notepad++ search with a logical AND

使用 Notepad++ 我需要找到包含 2 个关键字(两个)的行。

我找到了如何将 2 个正则表达式与逻辑“或”运算符相结合。

示例: (searchword1)|(searchword2)

但是我如何结合逻辑“和”呢?

试过 &, && ... 没有成功。

输入示例:

The CAT goes up and down the ROAD.
The CAT goes up and down the CITY.

搜索词: CAT & ROAD

预期结果: line1

如果您正在寻找真正的&&操作,其中一行以任何顺序包含两个单词,那么您将需要匹配这两行:

CAT 在路上走来走去。

ROAD 沿着 CAT 上下移动。 (可怜的猫)

在这种情况下,您将需要使用:

^(?=.*\bCAT\b)(?=.*\bROAD\b).*$

解释:

  • ^起跑线
  • $结束行
  • ?=积极展望
  • \\b字边界。 不确定你是否想要这个。 如果您想匹配单词的任何部分,请删除这些,例如TheCATgoes up and down theROAD

(?=)是一个积极的展望。 我们有两个这样的前瞻,一个是针对任何事物 ( * ),然后是 CAT,另一个是针对任何事物 ( * ),然后是 ROAD。 两个前瞻之间有一个隐含的&& - 必须满足两个条件。

阅读这里的环视

查找 -> 正则表达式,然后输入

(CAT)(.*?)(ROAD)

如果只需要两个单词,一个简单的模式将使用or运算符以任一顺序搜索单词:

(CAT.*ROAD)|(ROAD.*CAT)

对于两个以上的词,积极的前瞻可能更好。

只是@acarlon 答案的补充,这是对我有用的答案。

要在记事本++中完成这项工作,您必须确保已选中“匹配换行符”复选框以及正则表达式模式:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM