簡體   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