|
いつもお世話になっております。
でるもんた・いいじまです。
ひとつ仕様の確認をさせてください。
hmjre.dllでは括弧 (…) の入れ子には対応していないように見えますが、
そういう仕様なのでしょうか?
それとも、私が何か勘違いをしていますでしょうか?
サンプル例です。たとえば
●第1章 まえがき
●第2章 先行研究
という原文を
<h1><a name="chapter1">第1章 まえがき</a></h1>
<h1><a name="chapter2">第2章 先行研究</a></h1>
に置換したいとします。
この場合、
検索(S):^●(第(\d+)章[\s ]+.+)$
置換(E):<h1><a name="chapter\2">\1</a></h1>
という正規表現置換をかけると、
<h1><a name="chapter">第1章 まえがき</a></h1>
<h1><a name="chapter">第2章 先行研究</a></h1>
という結果が出ます。つまり、(\d+) の部分が \2 に取り込まれてはいません。
このケースの場合はたとえば
検索(S):^●第(\d+)(章.+)$
置換(E):<h1><a name="chapter\1">第\1\2</a></h1>
のように置換をかける必要があります。
jre32.dllのAPIとの互換性を考えると仕方がないようにも思いますが、
Perlなどとは違う挙動ですので、ぜひともヘルプに明記しておいて
いただければと思います。
P.S.
今回動作確認をした環境は
OS:Windows XP SP3 32bit版
秀丸:8.71β1日本語版
DLL :hmjre.dll 5.00
ですが、もっと前から同じ挙動だったような気がします。
|
|