json正则表达式,用于在Java中基于逗号拆分字符串
我有一个csv文件中的字符串,我想拆分它。字符串可以在双引号或JSON中包含逗号。 例如,如果字符串为:
abc, pq"r,s", {"one":1, "two":2}
正则表达式应将其拆分为三个令牌:
abc
pq"r,s"
{"one":1, "two":2}
我试过了
正则表达式的内容如下:(?x)[,](?=([^"]*"[^"]*")*[^"]*$)
谁能推荐一个合适的正则表达式吗
你可以在下面搜索框中键入要查询的问题!
我有一个csv文件中的字符串,我想拆分它。字符串可以在双引号或JSON中包含逗号。 例如,如果字符串为:
abc, pq"r,s", {"one":1, "two":2}
正则表达式应将其拆分为三个令牌:
abc
pq"r,s"
{"one":1, "two":2}
我试过了
正则表达式的内容如下:(?x)[,](?=([^"]*"[^"]*")*[^"]*$)
谁能推荐一个合适的正则表达式吗
# 1 楼答案
下面是适用于您的示例
abc, pq"r,s", {"one":1, "two":2}
的正则表达式:或者看看这个regex101 example
这个正则表达式有三个部分
,
是我们想要匹配的逗号(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)
是基于Bart Kiers的主题讨论{a2}的前瞻李>(?=(?:[^{}]*{[^{}]*})*[^}]*$)
是一种适应于处理{不确定它是否适用于其他示例