正規表現の置換 \0, \1
No.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, \1
No.01373
秀丸担当
さん 07/08/22 15:55
> 仕様の気もするのですが、マクロで書くなら
>replaceallfast " (\")(?\\1)", "(\\1)", regular;
>にあたることをすると、空白に続く「"」が「(")」ではなく「()」になります。
>replaceallfast " (\")(?\\1)", "(\\0)", regular;
>では問題ありません。検索にヒットするのは「"」だけなので、ヒット範囲全
>体を現す \0
その通りになることを確認できましたが、対応するとしたらHmJre.dllと秀丸エ
ディタ本体の両方の対応が必要なようです。
やるしたら検索開始位置を遡った配慮など、いろいろ複雑な問題を引き起こしそ
うなので、仕様ということにさせてください。
[
△
]
RE:01373 正規表現の置換 \0, \1
No.01375
Iranoan
さん 07/08/22 17:28
秀丸担当さん今日は、Iranoan です。
> 仕様ということにさせてください。
解りました。
[
△
]