捕获整个键值列表的 Java 正则表达式是什么(在下面的示例中以粗体显示)?
foo bar k0=v0, k1=v1, k2=v2 foo bar
键和值不包含空格字符、、
或 =
。
我已经尝试过:(([^\s,=]+=[^\s,=]+),?)+
at Regular Expression Test Page for Java ,但它给了我单独的等式组(k0=v0
等)而不是整个字符串。这是为什么?我该如何解决这个问题?
最佳答案
您的正则表达式不允许空格。如果您希望它也包含空格,则无法去掉它周围的 "foo bar"
(它会假设它是键或值的一部分)。如果您只想在逗号后留出空格,请尝试以下操作:
(([^\s,=]+=[^\s,=]+)(?:,\s*)?)+
关于java - key=value 的正则表达式是什么,以逗号分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11093256/