【发布时间】:2021-06-11 11:21:41
【问题描述】:
我有一个 JSON 文件,我需要在不使用任何外部库的情况下读取和加载它,所以我最好的选择是使用正则表达式。我当前用于查找字符串的正则表达式是 \"\\.*\" 但由于某种原因,整个 JSON 文件都是匹配的,所以我得到 "FIRST":"Galina98", "LAST":"Murray856", "SUFFIX":"" 而不仅仅是 "FIRST" 为什么会发生这种情况?我认为点应该转义换行符。
或者有没有更好的正则表达式?我的主要问题是我想要两种模式,一种用于左侧的单词,另一种用于右侧的单词,例如\"\\.*\":和:\"\\.*\",我该怎么做?
【问题讨论】:
-
试试
\"([^\"]*)\":\"([^\"]*)\" -
感谢 omar,这行得通,但它给了我代码
"FIRST":"Jorge",我想为"FIRST提供 1 个正则表达式,为"Jorge"提供第二个正则表达式 -
我猜你可以只做
\"[^\"]*\",如果你不在乎哪个是哪个。 -
你的正则表达式匹配一个引号,一个文字点然后一个引号。即
"."。在做任何其他事情之前,请完全删除双反斜杠。
标签: java json regex string match