2012-10-01 141 views
2

我有以下(鍵/值列表)結構正則表達式,負後綴

字段:值值值字段:值值值

classType所: *類型type2 ns.grrr.test3 _test4 * name_space.classType:grrr.test5 test6

我希望能夠解析串入組

classType所 - 領域

  • 類型 -
  • TYPE2
  • ns.grrr .test3
  • _test4

name_space.classType

  • grrr.test5
  • TEST6

我嘗試SOFAR

^(?<field>((\w+\.?)+)\:)(?<value>(((\w+\.?)+)\s?)+) 

這快報,上面沒有工作之一。我能得到一些零件的工作,但沒有使用所需的組

也試過:

(?<value>((?!\:)((\w+\.?)+\:?))) 

,我試圖確保價值組不會意外地包括場 沒有特殊字符,僅:

AZ AZ 0-9 _。 -

任何幫助將不勝感激。

更新

越來越近,這個正確翻出所有的值除 「TEST6」 上學期...

任何幫助表示歡迎:)爲

(感謝@ rfeague在這一個上輸入)。

((?<field>(\w+\.?)+)[:]((?<value>(\w+\.?)+)\s)+) 

戴夫

+0

什麼正則表達式執行下面你使用? – Vadzim

+0

使用C#,不好意思忘了提及 – dbones

+2

這不是100%正確,所以發表評論而不是回答:((# [^:] +):((? [^:] +)[\ t] +)+)+ 結果在這裏:http://capgrabr.com/_0550d5f679b98057cbcc91e40e870f0e 除了最後一次測試6之外,還可以獲得所有內容。 – rfeague

回答

0

感謝您的輸入我有被帶回正確的結果對我來說

((?<field>(\w+\.?)+)[:]((?<value>(\w+\.?)+)(\s|$))+) 
1

這符合一切

(?<field>[^\s]+?):((?<value>[^\s]+)\s?)+ 
+0

@dbones張貼,因爲在我的測試中,你的正則表達式沒有工作,但如果它沒問題:) – Gabber

+0

頂級男子分享,我注意到的表達式在我的C#項目中效果很好:) – dbones