2013-02-27 80 views
2

之間刪除一切,我有一個特別的段落是這樣的:具體括號

嗨。這是[abc =「12」] awesome [/ abc],我每次在堆棧發佈 [abc =「456」]問題[/ abc],它會在接下來的5個 [abc = 53" ]分鐘/ ABC]。

我想使用正則表達式來刪除(包括)[]之間的所有abc標記。我不想刪除任何[]之間的任何內容,因爲這也會刪除[answered],這不是abc標記。

基本上,刪除[]之間的所有內容,當它包含文本abc

我已經能夠得到

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

,但它不工作,再加上我不知道如何尋找ABC。

+0

\\ [/?abc。*?\] | \\ [| \\] will ma將所有括號和abc標籤與Hi的結果進行比較。這太棒了,每次我在堆棧上發佈問題時,都會在接下來的5分鐘內回答。 – CosminO 2013-02-27 11:40:55

回答

0

嘗試以下的正則表達式:

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

或可替代

movieProduct.getSynopsis().replaceAll("[[]abc.+?[]](.+?)[[]/abc[]]", "$1"); 
1

您可以嘗試

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

擦除標記之間的一切。使用正則表達式時,請不要忘記使用\轉義特殊字符。

如果你想保持標籤中的文本,您可以使用

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