2017-05-04 10 views
0

私はタイトルを入力した後に提案されたページをチェックアウトしても答えを見つけることができません。メモ帳でRegexを使用して複数の単語をマッチングする

私はNotepad ++を使用していますが、これは独自のバージョンの正規表現構文を持っているようですが、最初は正規表現に熟練していません。しかし、私は本当に非常に長いログファイルで行っている検索のタイプ​​のものを使用したいと思います。

私がする必要があるのは、2つ以上の単語が見つからない行、または '|'しかし、と。クエリのすべての単語が各行に存在する必要があります。だから私が "(cat)(dog)"にマッチしている2つがあれば、catとdogの両方が行に表示されますが、catまたはdogのみが表示される行ではない行がすべて返されます。

「猫(犬)(ハムスター)」と同様に、猫と犬を一緒に見つけたらハムスターが見つからない場合、それは戻ってこないだろうが、

私は、これらの間にスペースを入れるだけで 'と'のように機能すると言われましたが、それはうまくいかないようです。

私はメモ帳++ v7.3.3正規表現で

+0

各単語 '。* cat。* dog。* hamster。*'の前後にグリーディードットを配置するのはどうですか? – revo

答えて

2

によ、  が文字通りみなされた空間なので、 "猫犬ハムスターは" catdog  とhamsterを連結したものです。上記で

は、以下の正規表現を示唆されているコメント: .*は「0以上の他の文字」を意味

.*cat.*dog.*hamster.* 

。しかし、このパターンでは、言葉の順序が重要です。

あなたは問題のためにしたくない場合は、次の式を使用することができます

^(?=.*word1)(?=.*word2)(?=.*word3) 

word1によってライン(^)に続いする必要があります((?=))の始まりを意味し、 word2およびword3によって、任意の数の他の文字の後。

+0

ちょうど私があなたの3番目の例で探していたものです...チャンピオンのように動作します! –

+0

メモ帳++には、大文字小文字を区別しない検索のための適切なチェックボックスがあります。代わりに '(?i)'を正規表現の先頭に追加することもできますし、すべての 'a 'を' [Aa] 'に置き換えることもできます。 – horcrux

関連する問題