正規表現についてNo.02708
haru さん 01/11/29 20:28
 
いつも、お世話様です。早速なんですが、

例えば、以下のような文章があったとして、

*** テンプ ファイル リスト ***
*** テンプ ファイル リスト ***

これを
1.searchup "^*** (テンプ ファイル リスト|テンプ ファイル リスト) ***", regular;
2.searchup "^(\*\*\* テンプ ファイル リスト \*\*\*|\*\*\* テンプ ファイル リスト \*
\*\*)", regular;
3.searchup "^(*** テンプ ファイル リスト ***|*** テンプ ファイル リスト ***)", regu
lar;

の3通りで検索すると、1では ok なんですが、2と3では NG で
す。
 何故こうなるのか、わかりません。
 そういうものなんだ、というお答えでも構いません。
 ご存じの方教えて下さい。
 よろしくお願いします。

[ ]
RE:02708 正規表現についてNo.02709
ひろ さん 01/11/29 20:58
 
 haru さん今日は、ひろです。
> *** テンフ゜ ファイル リスト ***
> *** テンプ ファイル リスト ***
 これをやるには、
searchup "^\\*\\*\\* テン(プ|フ゜) ファイル リスト \\*\\*\\*$", regular;
あたりでしょうね。

 正規表現で「*」は、「\*」で表します。またマクロで「\」は「\\」と表
します。よってマクロ中で正規表現を用いて、「*」を表す場合「\\*」とな
ります。
 詳細については、秀丸 (マクロ) ヘルプ、および
http://win.blue.co.jp/~jr-kun/hidemaru_qa/3_yenmk.html
と参考にしてください。

[ ]
RE:02709 正規表現についてNo.02712
haru さん 01/11/30 09:56
 
ひろさん、今日は、

> 詳細については、秀丸 (マクロ) ヘルプ、および
>http://win.blue.co.jp/~jr-kun/hidemaru_qa/3_yenmk.html
>と参考にしてください。
ありがとうございます。


すみません。記述が誤っていたのと、半角カナが全角に変換されて
しまうのに、気が付きませんでした。

訂正して再質問致します。

アンダーバー_をスペースとして

AAAをテンフ゜_ファイル_リスト(全て全角カナ)
BBBをテンプ_ファイル_リスト(全て半角カナ)

とした時に、なぜ

searchup "^\\*\\*\\* (AAA|BBB) \\*\\*\\*", regular;
は良くて
searchup "^(\\*\\*\\* AAA \\*\\*\\*|\\*\\*\\* BBB \\*\\*\\*)", regular;
は駄目なのか?

です。
よろしくお願いします。

[ ]
RE:02712 正規表現についてNo.02716
ひろ さん 01/11/30 13:00
 
 haru さん今日は、ひろです。
> searchup "^(\\*\\*\\* AAA \\*\\*\\*|\\*\\*\\* BBB \\*\\*\\*)", regular;
> は駄目なのか?
 私の環境ではどちらも問題ありませんでした。ただ正規表現では、文字列
が長すぎるとエラーになります。環境によっては、それが原因かもしれませ
んので、一度通常の検索で問題がないか確認してください。

[ ]
RE:02716 正規表現についてNo.02718
haru さん 01/11/30 16:07
 
ひろさん、今日は。

>が長すぎるとエラーになります。環境によっては、それが原因かもしれませ
>んので、一度通常の検索で問題がないか確認してください。

わかりました。ありがとうございます。

[ ]