「あいまい検索 」のヘルプについてNo.29953
styth さん 11/06/24 18:22
 
 秀丸エディタのマクロフォーラムで、

 replaceallfast "(.+?)(。|?|!)(?=[^\n]+)", "\\1\\2\\n", fuzzy;

 というのを教えて頂いたのですが、

 秀丸エディタの「あいまい検索 」のヘルプには、
> 検索したい文字列が全角文字か半角文字かがはっきりしない場合
>にONにします。
> このオプションをONにすることで、例えば「バージョン」という
>文字列を検索すると、テキスト中の「バージョン」という文字列は
>もちろんのこと、半角で書かれた「バージョン」という文字列も探し
>出します。逆に「バージョン」と、半角で書かれた文字列を検索して
>も「バージョン」と「バージョン」の両方がマッチします。ただし、
>メタキャラクタはあいまい検索の対象外です。
 と書いてあります。「?」はメタキャラクタだと思うのですが、
ヘルプの記述では、あいまい検索の対象外になると思うのですが。
 「ただし、メタキャラクタはあいまい検索の対象外です。」を別
の言い回しのした方が良いのではないでしょうか?
 よろしくお願いします。

[ ]
RE:29953 「あいまい検索 」のヘルプにつNo.29954
アルビレオ さん 11/06/24 18:46
 
全角の?はメタキャラクタじゃありませんよ

[ ]
RE:29954 「あいまい検索 」のヘルプにつNo.29955
styth さん 11/06/24 19:38
 
 検索ダイアログを出して、検索文字列に半角の?を入れて、あい
まい検索をONにします。
 これで、検索すると、全角?・半角?ともにヒットします。

 実は、
 replaceallfast "(.+?)(。|\\?|!)(?=.)", "\\1\\2\\n", fuzzy;
 というのも、教えていただきました。
 こっちの方が例としては良かったかもしれません。
 よろしくお願いします。

[ ]
RE:29955 「あいまい検索 」のヘルプにつNo.29956
アルビレオ さん 11/06/24 20:17
 
> 実は、
> replaceallfast "(.+?)(。|\\?|!)(?=.)", "\\1\\2\\n", fuzzy;
> というのも、教えていただきました。
> こっちの方が例としては良かったかもしれません。
> よろしくお願いします。

その場合も「\\?」と書くことで「メタキャラクタではない?一文字」という意味
になります。
メタキャラクタではないのだから、あいまい検索の対象なわけです。

[ ]
RE:29956 「あいまい検索 」のヘルプにつNo.29957
styth さん 11/06/24 23:03
 
>その場合も「\\?」と書くことで「メタキャラクタではない?一文字」という意味
>になります。
>メタキャラクタではないのだから、あいまい検索の対象なわけです。
 そういうことなんですね。理解できました。

 ところで、
> 検索ダイアログを出して、検索文字列に半角の?を入れて、あい
>まい検索をONにします。
 こちらは、「\?」でなく、単に「?」です。

[ ]
RE:29957 「あいまい検索 」のヘルプにつNo.29958
h-tom さん 11/06/24 23:42
 

h-tom です。

> ところで、
>> 検索ダイアログを出して、検索文字列に半角の?を入れて、あい
>>まい検索をONにします。
> こちらは、「\?」でなく、単に「?」です。
「?」を入れて、警告が出ないなら、正規表現がOFFになっています
よね?
「?」は「正規表現のメタキャラク」なので、正規表現がOFFなら、
「?」という文字そのものです。

[ ]
RE:29958 「あいまい検索 」のヘルプにつNo.29959
styth さん 11/06/25 07:07
 
>「?」は「正規表現のメタキャラク」なので、正規表現がOFFなら、
>「?」という文字そのものです。
 そういうことなんですね。ありがとうございます。

 これに関連して、また新たな疑問が生じました。これについては、
別スレッドで質問させていただきます。

[ ]