正则表达式处理涉及双引号的给定输入模式输入:{"adad":""Dip. Clinico E Di Ricerca Clinica-u.o.c.i Divisione ,gg677"","asd":"","dadd":"13213","Finance":[{"Financial_Contact_End_Date":""},{"Financial_Monthly_End_Date":""}]}我已经尝试过此正则表达式来处理提供的输入。a.replace("\"\"","\"").replaceAll("(:\",)",":\"\",").replaceAll("(:\"})", ":\"\"}")a.replace("\"\"","\"").replaceAll("(:\",)",":\"\",").replaceAll("(:\"})", ":\"\"}")预期的:{"adad":"Dip. Clinico E Di Ricerca Clinica-u.o.c.i Divisione ,gg677","asd":"","dadd":"13213","Finance":[{"Financial_Contact_End_Date":""},{"Financial_Monthly_End_Date":""}]}我该如何解决这个问题?
2 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
此正则表达式将解决您的问题:
(("")(?!(,|})))|((?<!:)(""))
解释:
此正则表达式捕获""
不以'
或结尾的所有s}
(("")(?!(,|})))
此正则表达式捕获所有""
不以开头的s:
((?<!:)(""))
理论:
负前瞻
(?!...)
从表达式的当前位置开始,确保给定的模式不匹配。不消耗字符。
例如:
/foo(?!bar)/
foobar **
foo
** bar
负向后看
(?<!...)
确保给定的模式不匹配,并在表达式的当前位置结束。图案必须具有固定的宽度。不消耗字符。
例如:
/(?<!not )foo/
不是foo,而是
foo
添加回答
举报
0/150
提交
取消