快速入門
教學
工具和語言
範例
參考
書籍評論
範例
正規表示式範例
數字範圍
浮點數
電子郵件地址
IP 地址
有效日期
數字日期轉換為文字
信用卡號碼
比對整行
刪除重複列
程式設計
兩個相鄰的字詞
陷阱
災難性的回溯
過多重複
拒絕服務
讓所有內容都可選
重複擷取群組
混合 Unicode 和 8 位元
本網站上的更多內容
簡介
正規表示式快速入門
正規表示式教學
替換字串教學
應用程式和語言
正規表示式範例
正規表示式參考
替換字串參考
書籍評論
可列印 PDF
關於本網站
RSS Feed 和部落格
RegexBuddy—The most comprehensive regular expression library!

尋找兩個相鄰的字詞

有些使用布林運算子的搜尋工具也有一個稱為「相鄰」的特殊運算子。搜尋「字詞1 相鄰 字詞2」會找出所有在彼此「距離」範圍內出現字詞1 和字詞2 的結果。距離是字詞數。實際數字取決於搜尋工具,而且通常可以設定。

您可以輕鬆地使用適當的正規表示式執行相同的任務。

使用正規表示式模擬「相鄰」

使用正規表示法,你可以描述幾乎任何文字模式,包括符合兩個相鄰單字的模式。這個模式相對簡單,由三部分組成:第一個單字、一定數量的未指定單字,以及第二個單字。未指定的單字可以用 簡寫字元類別 \w+ 來符合。單字之間的空格和其他字元可以用 \W+ 來符合(這次是大寫的 W)。

完整的正規表示法變成 \bword1\W+(?:\w+\W+){1,6}?word2\b量詞 {1,6}? 使得正規表示法要求「word1」和「word2」之間至少有一個單字,最多允許六個單字。

如果這些單字也可能以相反的順序出現,我們需要另外指定相反的模式

\b(?:word1\W+(?:\w+\W+){1,6}?word2|word2\W+(?:\w+\W+){1,6}?word1)\b

如果你想從一個單字清單中找出任何兩個單字的配對,你可以使用

\b(word1|word2|word3)(?:\W+\w+){1,6}?\W+(word1|word2|word3)\b

最後的正規表示法也會找出一個單字附近的單字。例如,它會符合 word2 near word2