現在、解析しようとしている文字列に次の HTML がありますreReplaceNoCase
。
<blockquote class="id-1241">
<p>Stuff</p>
</blockquote>
<p>Test</p>
<blockquote class="id-2441">
<p>More stuff</p>
<blockquote>
<p>Test</p>
</blockquote>
</blockquote>
最終的にこれを次のように変換したいと思います。
{{1241}}
<p>Test</p>
{{2441}}
そこで、blockquote クラスから id を取り出し、それを使用して blockquote を置き換えたいと思います。私は現在reReplaceNoCase
これを行うために使用していますが、正しいblockquote開始タグに「接続」されているものではなく、最後のblockquote終了タグの最後で正規表現を終了していることに気付きました。
{{1241}}
これは私が現在使用しているものです:
reply = reReplaceNoCase(reply, '<blockquote class="id-([0-9]+)">(.*)</blockquote>', '{{\1}}', 'ALL');
誰かが私が望む結果のより良い例を持っていますか? reFind などでループを使用できると思いますが、これは面倒すぎるようです。これを行うためのより簡単な方法があり、パフォーマンスも向上するのではないかと思います。
可能であれば、Java を直接使用することも避けたいと思います。