2

私はこのような特定の段落を持っています:

やあ。これはとても[abc="12"]すごい[/abc]なので、スタックに[abc ="456"]質問[/abc]を投稿するたびに、次の5 [abc="53"以内に[回答]されます。 ]分[/abc]。

正規表現を使用してabc、その間の(および含む)すべてのタグを削除したいと思います。タグではないものも削除されるので、[]その間のものだけを削除したくありません。[][answered]abc

基本的に、テキストが含まれている場合と[の間のすべてを削除します。]abc

私はに行くことができました

<%=movieProduct.getSynopsis().replaceAll("[.*] *", "") %>

しかし、それは機能しません。さらに、abcを検索する方法がわかりません。

4

3 に答える 3

4

これは、必要なすべてのタグを選択するために機能するはずです:

\[/?abc.*?\]

デモ :

http://regexr.com?33u9u

于 2013-02-27T11:20:18.387 に答える
1

あなたが試すことができます

replaceAll("\\[abc.*?\\].*?\\[\\/abc\\]", "")

タグ間のすべてを消去します。正規表現を使用する場合は、を使用して特殊文字をエスケープすることを忘れないでください\

タグ内のテキストを保持したい場合は、次を使用できます

replaceAll("\\[abc.*?\\](.*?)\\[\\/abc\\]", "$1")
于 2013-02-27T11:19:47.097 に答える
0

次の正規表現を試してください:

"[[].*abc.*?[]]"

または代わりに

movieProduct.getSynopsis().replaceAll("[[]abc.+?[]](.+?)[[]/abc[]]", "$1");
于 2013-02-27T11:18:57.427 に答える