我有这种格式的字符串

"key1=value1 key2=value2 key3=value3 key2=value6 ...."


键是字母数字,没有空格。键可以在字符串中重复。值可以具有任何值,包括空格,IP地址等。一些值的示例是

Feb 09 2015 12:28:26 UTC
20.201.78.57
asdaaq.org


我需要能够解析字符串并将其拆分为键值对,并能够创建Java map>。有人可以建议一种拆分字符串的方法吗?

我尝试了正则表达式^((\b[^\s=]+)=(([^=]|\\=)+))*$,但这不适用于所有情况

最佳答案

尝试此操作,它通过查找=使用先行停止在键名之前。

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

关于java - 复杂的键值对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28468281/

10-10 21:49