正規表現置換No.10748
白森 風 さん 06/07/01 11:16
 
β版固有の問題ではないかもしれませんが、今使っている版がβ33なのでこちらに
投稿いたします。


問題
 正規表現 タグ置換

内容
 検索文字列の先頭に、前方一致指定(?<=があると、\1,\2,\3...が空になるようです。
 前方不一致(?<!であれば、正常動作しています。

 ¥f区切りでも()指定でも同じく空になります。


 検索文字列
  (?<=td>)(<td>.*?</td>)(<td nowrap>.*?</td>)(<td>.*?</td>)</tr>
 置換文字列
  \3\2\1</tr>
 結果
  </tr>
  ※Hit範囲には問題なし。

[ ]
RE:10748 正規表現置換(記入漏れ)No.10749
白森 風 さん 06/07/01 11:21
 
環境・条件が未記入でしたので、追記します。

使用バージョン6.00β33
HMJRE.dll V1.78

大小文字区別   指定あり
単語の検索    指定なし
正規表現     指定あり
あいまい検索   指定なし
置換の前に確認  指定あり
次の秀丸・・・  指定なし
検索文字列を強調 指定なし


[ ]
RE:10749 正規表現置換(記入漏れ)No.10754
秀丸担当 さん 06/07/03 16:33
 

>問題
> 正規表現 タグ置換
>
>内容
> 検索文字列の先頭に、前方一致指定(?<=があると、\1,\2,\3...が空になるようです。
> 前方不一致(?<!であれば、正常動作しています。
>
>例
> 検索文字列
>  (?<=td>)(<td>.*?</td>)(<td nowrap>.*?</td>)(<td>.*?</td>)</tr>
> 置換文字列
>  \3\2\1</tr>
> 結果
>  </tr>
>  ※Hit範囲には問題なし。

この通りにしてみて確認することができました。
秀丸エディタがhmjre.dllを呼ぶ方法に問題があったようです。
修正させていただきます。

[ ]