【发布时间】:2015-01-26 06:13:30
【问题描述】:
我有一些 Python 字典注定会变成 json 作为字符串,可能看起来像这样:
"{'foo': bar, "baz": uDogs}"
两个直接的问题是裸栏和 Dogs 前面的 u。
对于酒吧来说,狗的情况并不那么重要,我正在尝试一个正则表达式
re.compile(r""":\s*(?!('|"|u|\d))""") 但这并没有抓住我需要的案例。
在这种情况下,更智能的正则表达式是什么?
编辑:预期输出是:
{'foo':'bar', 'baz':'Dogs'}
【问题讨论】:
-
你的预期输出是什么?
-
选民愿意解释投票吗?或者这是投反对票然后逃跑?
-
如果
bar不是一个变量,那么你怎么不会出错呢?在第一个示例中也不是字符串 -
@howaboutNO 你是什么意思?我确实得到了一个错误,因此在这种情况下使用正则表达式。
-
是什么生成了这个无效的 JSON 字符串,我会尝试从源头修复它,因为任何输出这个无效 JSON 的东西都可能没有使用正确的 json 库。通过正则表达式修复将是一个痛苦的经历,因为你不能总是保证修复实际上会“修复”