異なる複数の単語をgrep検索No.32684
Cyber さん 13/10/29 15:42
 
一文の中で、異なる複数の単語をgrep検索するにはどうすればいいですか?

[ ]
RE:32684 異なる複数の単語をgrep検索No.32685
秀丸担当 さん 13/10/29 16:37
 

複数の単語のいずれか1つがある行ということだとしたら、正規表現で

first|second



first|second|third

といったように「|」を使うとできます。


複数の単語の全てがある行ということだとしたら、正規表現でいわゆるAND検索
/論理積するという書き方そのものは無いので、いろいろ組み合わせて記述する
必要があります。

1つの方法として、.*を間にはさんで書く方法が考えられます。
どちらが先にきてもいいように2つのパターンを書きます。

(first.*second)|(second.*first)

ただ、これだと3つ以上だとかなり複雑になってしまいます。

3つ以上の場合は後方一致の(?=)を使った以下の書き方ができます。

^(?=.*first)(?=.*second)(?=.*third).*$

[ ]
RE:32684 異なる複数の単語をgrep検索No.32689
山紫水明 さん 13/10/30 20:49
 
 Cyberさん,

>一文の中で、異なる複数の単語をgrep検索するにはどうすればいいですか?

 マクロでよろしければ,秀丸エディタマクロライブラリにある拙作マクロ
「スペース区切りで複数語GREPができるマクロ 」をお試し下さい。

                          山紫水明
                          SANSHISUIMEI

[ ]