2013-11-21 81 views
0

我無法弄清楚我如何設法解決從方括號和普通方括號中獲取信息的問題。我想要他們的內容。 我想:java正則表達式提取括號內的信息

Pattern p = Pattern.compile("\\[[^\\]]*\\]"); 
Pattern p1 = Pattern.compile("\\[|\\([^\\)]*|[^\\]]*\\]|\\)"); 
Pattern p2 = Pattern.compile("\\[|\\([^{\\]|\\)}]*\\]|\\)"); 

p完全適用於只有那些平方,然後我嘗試添加正常的括號,但沒有成功。
字符串的樣本將

"(info1) something-uninteresting [info2] s.u. [info3] s.u. (info4)" 

回答

4

嘗試以下操作:

[\\[(][^\\])]*[\\])] 
+0

它只是再次得到平方那些 – user2664856

+0

現在很多其完美的感謝,雖然我不安靜地得到它,爲什麼這個工作......確切地說:第一次發生的意思是什麼? okok好吧,現在我明白了:) – user2664856

+0

@ user2664856不客氣,很高興我能幫上忙。 –

0

嘗試以下操作:

(\\(.*?\\)|\\[.*?\\])*? 
+0

eclipse說這根本無效 – user2664856

+2

@ user2664856因爲您需要雙重轉義 – sp00m

+0

這是真的,對不起 – Voidpaw