2017-02-17 21 views
-4

我正在尋找比通用解決方案更具體一些的東西,並被卡住了。正則表達式適用於logstash'我認爲符合Ruby 1.9.3的'JRuby'。用於靈活鍵/值對的正則表達式

http://regexr.com/3fas9 - 當沒有報價,拍攝的最後一個鍵/值對樣品的正則表達式沙箱

[\w\d]+\s*=\s*.+?(?=$|[ ,]+[\w\d]+\s*=) 

遇到問題,確保只有一個字被捕獲。感謝開始mudasobwa。

樣品輸入

c.k.a.e.s.impl.TestImpl - EventServiceImpl.something - event k1 = 4060936, k2 = 563486, kdod = 5882fe842bf9a9afd9611012 ssfk4=1,k5="two words" sk6=one word k7="int,comma" extra value 

預期相匹配輸出

k1 = 4060936 
k2= 563486 
kdod = 5882fe842bf9a9afd9611012 
ssfk4=1 
k5=two words 
sk6=one 
k7=int,comma 

獎金挑戰輸出,如果空間是等號可以通過正則表達式來按摩。如果沒有,我可以發佈流程,這很好。

k1=4060936 
k2=563486 
kdod=5882fe842bf9a9afd9611012 
ssfk4=1 
k5=two words 
sk6=one 
k7=int,comma 
+3

SO不是自由編碼服務。你試過什麼了? – Fallenhero

+0

如果我包含了我的天真關鍵字=值匹配,那麼硬件部分失敗了,這真的會是一個更好的問題嗎?哇... – ss2k

回答