正規表現の置換 \0, \1No.01370
Iranoan さん 07/08/22 12:37
 
 秀丸担当さん今日は、Iranoan です。
 仕様の気もするのですが、マクロで書くなら
replaceallfast " (\")(?\\1)", "(\\1)", regular;
にあたることをすると、空白に続く「"」が「(")」ではなく「()」になります。
replaceallfast " (\")(?\\1)", "(\\0)", regular;
では問題ありません。検索にヒットするのは「"」だけなので、ヒット範囲全
体を現す \0
http://hidemaruo.dip.jp:81/turukame/turukame_3/x0508913.html#8915
なのは考えれば納得できるのですが、検索文字列で指定した \1 が使えないの
で戸惑いました。
 こちらの環境は、WindowsXP+IE6.0+秀丸 Ver.7.00β20 です。

[ ]
RE:01370 正規表現の置換 \0, \1No.01373
秀丸担当 さん 07/08/22 15:55
 

> 仕様の気もするのですが、マクロで書くなら
>replaceallfast " (\")(?\\1)", "(\\1)", regular;
>にあたることをすると、空白に続く「"」が「(")」ではなく「()」になります。
>replaceallfast " (\")(?\\1)", "(\\0)", regular;
>では問題ありません。検索にヒットするのは「"」だけなので、ヒット範囲全
>体を現す \0

その通りになることを確認できましたが、対応するとしたらHmJre.dllと秀丸エ
ディタ本体の両方の対応が必要なようです。
やるしたら検索開始位置を遡った配慮など、いろいろ複雑な問題を引き起こしそ
うなので、仕様ということにさせてください。

[ ]
RE:01373 正規表現の置換 \0, \1No.01375
Iranoan さん 07/08/22 17:28
 
 秀丸担当さん今日は、Iranoan です。
> 仕様ということにさせてください。
 解りました。

[ ]