あいまい検索の設定ダイアログボックス(Ver5.34対応版)
半角/全角を区別しない
 半角文字と全角文字を区別しないで検索します。例えば半角文字の「A」を検索して、全角文字の「A」にもヒットするようにします。
 半角のカタカナと全角のカタカナも区別せずに検索するようになります。



全角文字で、ひらがなとカタカナを区別しない
 全角のひらがなと全角のカタカナを区別しないで検索します。例えばカタカナの「ア」を検索して、ひらがなの「あ」にもヒットするようにします。
 ここのオプションと「半角/全角を区別しない」の両方をONにすると、半角カタカナと全角カタカナと全角ひらがなをすべて区別せずに検索するようになります。例えばひらがなの「あ」を検索して、半角カタカナの「ア」にもヒットするようになります。


大きい「あ」と小さい「ぁ」を区別しない
 ひらがな/カタカナの大きい文字と小さい文字を区別しないで検索します。具体的には「あいうえおやゆよつ」の文字と「ぁぃぅぇぉゃゅょっ」を区別しないで検索します。
 全角ひらがな、全角カタカナ、半角カタカナそれぞれについて区別しないようになります。ここのオプションと他のオプションはすべて合成可能なので、例えばここのオプションと「半角/全角を区別しない」の両方をONにすれば、全角ひらがなの「あ」を検索して、全角カタカナの小さい「ァ」にもヒットするようになります。


濁音/半濁音を無視する
 濁音/半濁音を無視して検索します。例えば「は」を検索して「ば」にも「ぱ」にもヒットするようにします。
 このオプションをONにすると、濁音/半濁音をすべて除去して検索するようになります。その副作用として、例えば濁音のみの「゙」だけを検索することは出来なくなります。


かなの「ー」と英数字の「−」を同一視する
 かなの「ー」(文字コード815B)と英数字の「−」(文字コード817C)を同一の物と扱って検索します。半角の文字コードB0と文字コード2Dについても同じ扱いとします。
 かなの「〜」やその他の横棒風の文字についての同一視はしません。


空白/タブ文字を無視する
 空白/タブ文字を無視して検索します。例えば「AB」を検索して、「A B」のような途中に空白の入った文字列にもヒットするようにします。半角空白、全角空白、タブ文字を無視します。
 このオプションをONにすると、空白/タブ文字をすべて除去した形で検索するようになります。その副作用として、空白やタブ文字のみを検索することは出来なくなります。


類似検索
 類似検索とは、検索文字列と完全には一致してない、「似ている」文字列を探す機能です。例えば「computer」という文字列を検索する時に、「conputer」や「compputer」のように1文字だけスペルミスしてる単語を探します。
 「類似度合い」は、類似検索で許容する類似度合いをパーセンテージで指定します。例えば66%を指定した場合、3文字に1文字の割合で文字が違っててもヒットさせます。
 「ミスの上限」は、パーセンテージで計算したミスの数に対して上限を設定します。長い文字列を検索する場合でもミスの数はここで指定した数に限定されます。
 詳しくは、類似検索の詳細を参照ください。


Unicodeの特殊空白の同一視/特殊ハイフンの同一視
 Unicodeの文字で、見た目が空白そのものに見えたり、幅がゼロの特殊な空白文字があります。それらを普通の半角空白と同一視します。さらに、U+2010〜U+2015の特殊なハイフンを、普通の半角文字のハイフンと同一視します。

特殊な空白の一覧:
U+00A0 NO-BREAK SPACE
U+180E MONGOLIAN VOWEL SEPARATOR
U+2000 EN QUAD
U+2001 EM QUAD
U+2002 EN SPACE
U+2003 EM SPACE
U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE
U+2006 SIX-PER-EM SPACE
U+2007 FIGURE SPACE
U+2008 PUNCTUATION SPACE
U+2009 THIN SPACE
U+200A HAIR SPACE
U+200B ZERO WIDTH SPACE
U+202F NARROW NO-BREAK SPACE
U+205F MEDIUM MATHEMATICAL SPACE
U+FEFF ZERO WIDTH NO-BREAK SPACE

特殊なハイフンの一覧:
U+2010 HYPHEN
U+2011 NON-BREAKING HYPHEN
U+2012 FIGURE DASH
U+2013 EN DASH
U+2014 EM DASH
U+2015 HORIZONTAL BAR


UnicodeのIVS(異体字セレクタ)を無視する
 Windows8から、ユニコードでの「異体字セレクタ」(Ideographic Variation Selector)という仕組みがサポートされて、それを使うことで、例えば葛飾区の「葛」と葛城市の「葛」とで微妙に字体が違う物を両方表現出来るようになりました。ところが、それがあると、同じ「葛」の文字で検索しても葛城市の「葛」にヒットしないといった問題が起きる可能性があります。
 ここのオプションをONにすると、異体字セレクタを無視して検索するので、結果として「葛」で「葛」の異体字すべてにヒットするようになります。
 異体字セレクタの仕組み字体はWindows7でも有効で、異体字セレクタ対応のフォント(IPAmj明朝等)をインストールすることで使えるようになります。


改行を無視する
 改行を無視して検索します。例えば、「AB」を検索して、行末に「A」があって次の行の行頭に「B」があるような状況でもヒットするようにします。
 改行を無視すると言っても、実際に改行を完全に無視して検索するためには、検索対象のテキストファイル全体をまとめて検索しないといけなくなって、非常に都合が悪いです。そこで、「最大改行数」を別に指定しないといけません。最大改行数を多くすると、それだけ多くの改行を含んだ文字列にヒットするようになりますが、その代わり、検索速度は遅くなります。
 ここのオプションをONにすると、改行を除去した形で検索が実行されます。その副作用として、改行文字そのものを検索することは出来なくなります。


特定文字を無視する
 ユーザー側で指定された、特定の文字を無視して検索します。例えば"ABC"という指定をした場合、AとBとCの3種類の文字を無視して検索します。
 無視する対象の文字には、全角文字も含めることが出来ます。
 例えば文章中に「※1」〜「※9」のような文字が混じっているとして、それを無視して検索させたい時は、"※0123456789"という文字を無視対象に指定すればいいです。
 無視する対象に指定した文字は検索できません。なので、例えば上記のような0〜9すべてを無視対象に指定した場合には、数字の検索が出来なくなります。


カスタム1〜カスタム4
 ユーザー側で用意した同一視指定のそれぞれを有効にするかどうか指定します。
 同一視指定用のファイルは、右側の「参照...」ボタンを押して指定します。

 同一視指定ファイルの作成方法

類似検索との組み合わせについての注意:
 カスタム同一視指定ファイルの中で、2文字以上の単語を同一視指定した場合で、その同一視指定した単語を含む文字列を「類似検索」をONにして検索する場合、類似検索がうまく機能しないことが多くなります。例えば「xxx」と「yyy」を同一視指定した場合、"abcxxxabc"を検索すると、それは実質的に正規表現パターンの「(?#similar:66%)(abc)(xxx|yyy)(abc)」のような検索に相当した動作となり、"abc"と"xxx"と"abc"の3つについて別々に類似検索するような動作となります。


注:大文字/小文字の区別について
 大文字/小文字を区別するかしないかについては、あいまい検索の呼び出し元の設定に従います。あいまい検索の設定ダイアログボックス上にはこのオプションはありません。

 呼び出し元の設定で「大文字/小文字を区別しない」と指定された場合、あいまい検索側では半角英字の大文字/小文字を区別しないだけでなく、全角英字についても大文字/小文字を区別せずに検索します。


注:エンコード種類の違いによる制限について
 秀丸エディタ上の「ファイル・エンコードの種類」が日本語以外の言語(中国語や韓国語、欧文など)になってる場合、

  • 半角/全角を区別しない
  • 全角文字で、ひらがなとカタカナを区別しない
  • 「大きい「あ」と小さい「ぁ」を区別しない
  • 濁音/半濁音を無視する
  • 「かなの「ー」と英数字の「−」を同一視する
  • カスタム同一視指定の中での日本語の文字列

 のあいまい検索はうまく動作しないです。これらのあいまい検索オプションは日本語のエンコード種類を前提としてるので、それ以外言語ではうまく機能しません。


注:正規表現ONとの組み合わせについて
 あいまい検索と正規表現の両方をONにして検索すると、一部期待する文字列にヒットしない可能性がありえます。例えば1つ分かっている例として、「(pattern){n}」のような、マッチする回数指定を指定した場合、それが期待した文字数にうまくヒットしないことがあります。
 例えば「ド{3}」のような検索をして、それが「ト゛ト゛ト゛」のようなトータル6文字にヒットする、というようなことがありえます。
 例えば「無視する指定」に指定された文字は、検索の処理の中で、対象文字を除外したような検索が実行されます。それによって期待した検索結果が得られないことがあります。
 その辺ご注意ください。