【发布时间】:2017-01-20 04:32:54
【问题描述】:
我有一个存储映射的 JSON 文件,其中包含正则表达式,如下所示:
"F(\\d)": "field-\\\\1",
"FLR[ ]*(\\w)": "floor-\\\\1",
为了符合我对反斜杠进行转义的标准,实际的正则表达式应该包含\d、\w 和\\1。
一旦我使用 json.load() 读取了这个 JSON,我仍然需要对结果字典进行后处理以获得正确的正则表达式。我需要用\ 替换\\。最好的方法是什么?
到目前为止,我尝试了re.sub() 和str.replace(),在这两种情况下,都不清楚如何在变电站中表示单个反斜杠。
例如,我不明白为什么以下内容不会产生单个反斜杠:
In [76]: "\\\\d".replace("\\\\", "\\")
Out[76]: '\\d'
【问题讨论】:
-
它确实产生一个反斜杠。这就是它的显示方式,为了明确它是一个文字反斜杠而不是转义字符
标签: python json regex python-2.7