【发布时间】:2021-09-02 05:14:31
【问题描述】:
我正在尝试将所有 : 替换为 = 引号内的 : 除外。换句话说:替换所有没有被“某物”包围的 :。
# input
x:123; y:"z:456"
# desired output
x=123; y="z:456"
我尝试使用否定的lookbehind/lookahead 来解决这个问题,但我无法匹配引号中 : 周围的文本,因为在lookbehind 中不允许使用量词;所以这不起作用:
re.sub(r'(?<!".+?):(?!.+?")', '$')
这完全可以使用正则表达式来完成吗?
谢谢!
【问题讨论】:
标签: python regex regex-lookarounds lookbehind