^(先頭)の扱いについてNo.24795
YU さん 08/04/18 14:11
 
いつもお世話になっております。

^(先頭)の扱いについて質問があります
以下のマクロのように()でくくって、マクロ作成しても不具合はないでしょうか?
^の取り扱いで制限はありませんか?

replaceallfast "(対象と方法|背景と目的|はじめに|^症例|^目的)\\f[:;]" , "【
\\0】" , regular;

よろしくお願いします。

[ ]
RE:24795 ^(先頭)の扱いについてNo.24797
秀丸担当 さん 08/04/18 14:53
 

>^(先頭)の扱いについて質問があります
>以下のマクロのように()でくくって、マクロ作成しても不具合はないでしょうか?
>^の取り扱いで制限はありませんか?
>
>replaceallfast "(対象と方法|背景と目的|はじめに|^症例|^目的)\\f[:;]" , "【
>\\0】" , regular;

秀丸エディタ新規インストールで標準で設定されているHmJre.dllであれば、こ
の書き方でも問題ないようです。

[その他]→[動作環境]→[環境]→[正規表現]で、Jre32.dllを指定している場合
は、この書き方はできないようです。Jre32.dllは、V3.xxあたりの秀丸エディタ
までは、標準でした。


\fで区切るより、区切らずに()でくくった部分を指定する方法
(ヘルプの「一般的正規表現互換のタグ付き正規表現」を参照 )
のほうが安心かもしれないです。
\fで区切る場合は、秀丸エディタが2つに分けて正規表現を解釈しているのに対
して、区切らない場合はHmJre.dllが()の位置を判断しています。

  ●()の位置を\1,\2…で表す例
  replaceallfast
    "(対象と方法|背景と目的|はじめに|^症例|^目的)[:;]" ,
    "【\\1】" , regular;


ご存知だとは思いますが念のため書いておくと、[]の中に含まれる場合は、^は
違う意味になるので、[]の中では使えません。

あと、"(A|B|C|^D|^E)" はできますが、"X(A|B|C|^D|^E)" はできないです。

[ ]
RE:24797 ^(先頭)の扱いについてNo.24799
YU さん 08/04/18 15:10
 
秀丸担当様ありがとうございました。

[ ]