![](/img/trans.png)
[英]RegEx for removing words that contain a character *not* in a specified set
[英]Regex, how to find lines that contain both specified words?
如何查找包含兩個指定單詞的行 - 使用 Regex 模式?
例如,我需要查找包含“MExp”和“聚合”兩個詞的行。
謝謝。
那么,“兩個詞”等同於“word1...word2”或“word2...word1”:
(word1.*word2)|(word2.*word1)
或者,根據您的環境/宿主語言,只需使用兩個正則表達式,例如 JavaScript:
if (line.test(/word1/) && line.test(/word2/)) {
// both words
}
或使用grep
:
<line.txt grep 'word1' | grep 'word2'
假設您有一個文件。
abcde
fghijk MExp lmnopq Aggregate
fghijk MExp Aggregate lmnopq
fghijk Aggregate lmnopq MExp
fghijk Aggregate MExp lmnopq
xywz
如果單詞的順序不相關,則正則表達式為
(MExp.*Aggregate)|(Aggregate.*MExp)
如果順序很重要,請僅使用適用的順序。
MExp.*Aggregate
或Aggregate.*MExp
匹配 1 個單詞: \b(Aggregate)\b
。 如果您不必非常高效,那么我會測試 2 次。
此工具也可用於快速生成正則表達式: regex generator
我無法對此進行進一步研究,但是這個主題可能會幫助您結合單詞搜索。
祝你好運; ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.