サクラエディタの正規表現でAND検索する方法

 

サクラエディタで複数の語句や文字列を同時に含む条件で検索する方法、いわゆるAND検索、かつ検索、論理積検索方法をのせておきます。これを知っていると通常検索、grep検索で大変に便利です。

サクラエディタでAND検索をするには正規表現で書く必要がある

サクラエディタでAND検索をしようとすると、
正規表現というルールに基づいて自分の検索したい条件を記述する必要があります。

ただ、この正規表現というのが知らない人にとっては困るんですよね。

メモ帳よりも便利だし、あるいはワードよりも動作が軽くてといった理由でサクラエディタを使っている人にとってはいきなり正規表現のルールで書けと言われてもわけがわからないと思います。

私がそうでした。
なので、正規表現を知らない人でも戸惑うことなくAND検索ができるようにのせておきます。

本当だったら、google検索のように「半角スペースで区切るだけ」とか「&&」でかつ、ANDを表現できるといいのですがね……

(正規表現について簡単に知りたい方は、正規表現の意味やメリットって何かを日常語で説明するを読んでください)

正規表現でAND検索をするための書き方

正規表現でAND検索をするための書き方は複数あります。

ここでは、サクラエディタで使える2通りの書き方を紹介しておきます。

AND検索をするための書き方その1

(あああ.*かかか)|(かかか.*あああ)

このように書けば、
「あああ」と「かかか」を同時に含む行を抽出することができます

ネットで調べるとこの方法が書かれたページが不思議なことに多い気がしました。

この方法でも調べることができますのでよいかとは思いますが、
この方法では自分の調べたい条件の文字列が3つ以上となったときに、記述するのが面倒になります。

どれだけ面倒臭いかというと……

(あああ.*かかか.*さささ)|(あああ.*さささ.*かかか)|(かかか.*あああ.*さささ)|(かかか.*さささ.*あああ)|(さささ.*あああ.*かかか)|(さささ.*かかか.*あああ)

条件が3つでもこのような書き方をしないといけないので、かなり面倒臭くて、条件が4つだったら、もう書きたくないと思うはずです。

この方法で書けるのは2つのときのみでしょう。

AND検索をするための書き方その2

なので次の記述の方法も紹介しておきます。こちらがオススメの検索方法です。

^(?=.*あああ)(?=.*かかか).*$
^(?=.*あああ)(?=.*かかか)(?=.*さささ).*$

この書き方では、「(?=.*調べたい文字列)」で記述した文字列がANDでつながれる条件となり、同一行の中に全ての文字列が含まれている場合にのみ検索結果にヒットします

それと、「^」と「.*$」の間に囲まれた「(?=.*調べたい文字列)」の部分は、どの順番で書いても大丈夫です。

こちらの書き方であれば、条件がいくつになろうとも記述量が急激に増えることはないですし、書き方もわかりやすいのではと思います。

サクラエディタでAND検索するときはこちらの検索方法に慣れておくといいのではないでしょうか。

タイトルとURLをコピーしました