【发布时间】:2015-03-23 17:42:08
【问题描述】:
假设一个包含多个连续键值对的单行字符串,以空格分隔,但值中也允许空格(不在键中),例如
key1=one two three key2=four key3=five six key4=seven eight nine ten
从上面正确提取键值对将产生以下映射:
"key1", "one two"
"key2", "four"
"key3", "five six"
"key4", "seven eight nine ten"
其中“keyX”可以是任何字符序列,不包括空格。
尝试一些简单的事情,比如
([^=]+=[^=]+)+
或类似的变化是不够的。
是否有一个正则表达式可以完全处理这种提取,而不需要任何进一步的字符串处理?
【问题讨论】:
-
试试 ([^= ]+=[^=]+ *)+
-
我试过了,还是不行。查看其他答案。谢谢。
标签: java regex key-value keyvaluepair