我有一个像这样的特定段落:
您好。这是如此[abc =" 12"]真棒[/ abc]每次我张贴一个 在堆栈中[abc =" 456"]问题[/ abc],它在接下来的5个内被[回答] [ABC =" 53&#34]。分钟/ ABC]
我想使用正则表达式删除(和包括)abc
之间的所有[]
标记。我不想删除[]
之间的任何内容,因为这样也会删除不[answered]
代码的abc
。
基本上,当[
和]
包含文字abc
时,请移除<%=movieProduct.getSynopsis().replaceAll("[.*] *", "") %>
和{{1}}之间的所有内容。
我已经能够到达
{{1}}
但它不起作用,加上我不知道如何搜索abc。
答案 0 :(得分:4)
答案 1 :(得分:1)
你可以尝试
replaceAll("\\[abc.*?\\].*?\\[\\/abc\\]", "")
删除标签之间的所有内容。在使用正则表达式时,请不要忘记使用\
转义特殊字符。
如果要将文本保留在标记内,可以使用
replaceAll("\\[abc.*?\\](.*?)\\[\\/abc\\]", "$1")
答案 2 :(得分:0)
尝试以下正则表达式:
"[[].*abc.*?[]]"
或者
movieProduct.getSynopsis().replaceAll("[[]abc.+?[]](.+?)[[]/abc[]]", "$1");