我無法從字串中獲取每個密鑰對值的組。輸入字串類似于:
sample1= "key1.1=val1,key2=2,key3=3,key4=last"
預計4組:
key1.1=val1 key2=2 key3=3 key4=last
但也有可能
sample2= "key1.1=val11,key2.1=2,1,key33=3,key44=last"
請注意,在此處sample2,key2.1具有值2,1
預計4組:key1.1=val11 key2.1=2,1 key33=3 key44=last
我無法獲取所有組,特別是處理對,之間的分隔符也可以是一個鍵值的一部分的情況。
我正在嘗試類似的東西:
(?:^|,)([^=,] )=([^=,] )(?:,|$)
uj5u.com熱心網友回復:
您可以拆分逗號,逗號后跟一個或多個除逗號以外的字符,后跟一個等號。也就是說,根據正則運算式的匹配進行拆分
,(?=[^,] =)
演示
您用于拆分此運算式匹配的字串的方法或函式取決于您使用的語言,您尚未指定。例如,在 Ruby 中,你會寫
"key1.1=val11,key2.1=2,1,key33=3,key44=last".split(/,(?=[^,] =)/)
#=> ["key1.1=val11", "key2.1=2,1", "key33=3", "key44=last"]
運算式可以分解如下。
, # match a comma
(?= # begin a positive lookahead
[^,] # match one or more characters other than commas
= # match an equal sign
) # end positive lookahead
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/485675.html
