2011-03-04 222 views
0

我有這種模式,我需要提取對應'key:'和'value:'的值。我嘗試了很多RegExp模式的變體,但沒有成功。誰能幫我?提取值的正則表達式

[Element Mapping -- Key: 111111111 Value: MyValue - MyName, Element Mapping -- Key: 220002222 Value: My-Val - MyName ]. 

我的預期值分別:

111111111 
MyValue - MyName 
20002222 
My-Val - MyName 
+0

?這會對人們的答案產生影響。 – 2011-03-04 05:19:00

+2

@Dan:OP使用了'java'標記。當用戶在問題中明確提到語言時,我也很喜歡,但我已經習慣了它只在標籤中。 – mellamokb 2011-03-04 05:24:21

+0

我正在嘗試在Java中執行此操作 – Himanshi 2011-03-04 05:26:10

回答

1

試試這個作爲你的正則表達式

/Element Mapping -- Key: (\d+) Value: ([^,\]]*)/ 

http://rubular.com/r/cJLtqCP8j7

您正在使用哪種語言
+0

謝謝,但我想擺脫文字'元素映射'和'價值'。對於所有Key:和Value: – Himanshi 2011-03-04 05:37:17

+0

@Himanshi:因此可以在'()'中進行捕獲。如果你拉出兩個捕獲的組,你應該有你想要的值。請參閱我給出的例子執行正則表達式的鏈接。 – mellamokb 2011-03-04 05:38:17

+0

@Himanshi:關於捕獲組,請參閱http://www.exampledepot.com/egs/java.util.regex/Group.html。 – mellamokb 2011-03-04 05:41:05

0

爲什麼你想用正則表達式來做到這一點?

我會建議使用寫入它的相同工具正確解析它嗎?

+0

它是從前一頁獲取序列化的Request對象獲取的參數值的列表。這個模式寫在toString方法 – Himanshi 2011-03-04 05:25:35

+0

@Himanshi:你有對象類型的反序列化器嗎?這將是最有效和最準確的。 – mellamokb 2011-03-04 05:26:35

+0

不,它只是我可以在request.getParameter的幫助下在另一個頁面上接收到這個信息,這隻會導致字符串值。 – Himanshi 2011-03-04 05:34:41