java - key=value 的正则表达式是什么,以逗号分隔?

标签 java regex

捕获整个键值列表的 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/

相关文章:

java - 构建 openjdk9 时出错

java - 为什么 Java 中的这个存储过程调用不起作用?

java - 什么是 "best practice"删除对功能的支持?

java - 如何扫描EJB模块中的实体

javascript - 为什么这个正则表达式也匹配非捕获组中的单词?

regex - 匹配奇数长度的字符串

ruby-on-rails - 事件记录正则表达式

java - 如何从 Guice 获取配置了运行时参数的单例?

python - re.sub 有异常(exception)或条件

Python 使用正则表达式拆分字符串