文字列の[。*]をすべて削除しますが、[CDATA [xxx]]は削除しません。 私は、次のような結果を期待していCDATAを置換せずに![CDATA [xxx]]に一致するものをすべて置換してください。
"""![CDATA[please remove[macro]]]"""
.replaceAll("""(?<!CDATA)\[(?!CDATA).*\]""", "")
shouldBe
![CDATA[please remove]]
しかし、私はすでにXMLは、に適していないです言ったように、結果は
![CDATA[please remove
XMLは正規表現にはあまり適していないので、適切なパーサーを使用する方が適切なオプションかもしれません。 – Thomas
Btw、 'replaceAll(regex、") 'は' 'などを追加するためにあなたの呼び出しはどうですか? –
Thomas
申し訳ありませんが、あまりにも多くのものをコピーします。 –