regexp_replace我正在尝试使用函数清理格式错误的 JSON 字符串。我有一个如下字符串:
{ 0: {"foo": "bar", "baz": "24/05/2016", "qux": "12"},
1: {"foo": "bar", "baz": "04/11/2015", "qux": "13"},
2: {"foo": "bar", "baz": "25/07/2016", "qux": "14"}
}
为了使这个有效的 JSON,我需要用双引号将数字键括起来。我不想在每个嵌套对象中捕获现有的数字数据。
我最初想使用反向引用,匹配那些后跟冒号的数字,但当然捕获的反向引用包含冒号,我不想用引号括起来。
regexp_replace("column_to_fix", '\d:', '"\&"', 'g') as "cleaned"
不会完全这样做,因为每个带有冒号的数字键\d:都会被引号括起来,而不仅仅是数字。从概念上讲,使用 python 语法,我想用"\&[-1]". 是否可以获得反向引用的子字符串?
我正在努力的结果是:
{ "0": {"foo": "bar", "baz": "24/05/2016", "qux": "12"},
"1": {"foo": "bar", "baz": "04/11/2015", "qux": "13"},
"2": {"foo": "bar", "baz": "25/07/2016", "qux": "14"}
}