我一直有問題,爲特定的字符串生成正則表達式。Java的正則表達式積極lookahead
我的源字符串基本上是一組鍵值對。我期望的輸出是 下面是一個簡單的字符串:
:27B:Hello: World!
Something
World: Hello
:29A:Test
:30:Something isn't right-}
所需的輸出:
Key: 27B Value: Hello: World!
Something
World: Hello
Key: 29A Value: Test
Key: 30 Value: Something isn't right
這裏是我的正則表達式爲它至今:
(\\d+\\w?):([\\w\\d\\s'/,:\\Q.()\\E]+(?=(:\\s*\\d+\\w?:|\\-\\})))
的問題是,我似乎在捕捉整個消息。
e.g. Key: 27B Value:Hello: World!
Something
World: Hello
:29A:Test
:30:Something isn't right
我的正則表達式應該是什麼,以便我可以提取這些鍵/值對?
目前還不清楚什麼是允許的以及您的密鑰和值中不允許的內容。我不認爲有'!'匹配您當前正則表達式的值部分。 – nhahtdh 2013-05-02 14:50:45
您是否試圖捕獲鍵和值或打印所需的輸出示例中所述的字符串?知道你如何使用正則表達式也是有用的。 'Pattern' +'Matcher.find()'? – rvalvik 2013-05-02 14:57:30