法典:text = "('hel'lo') eq 'some 'variable he're'"re.compile(r"(?<!\(|(?<=eq ))'(?!\)|\Z)").sub(string=text, repl="''")获取错误:re.error: look-behind requires fixed-width pattern预期输出:('hel''lo') eq 'some ''variable he're'
1 回答

慕的地6264312
TA贡献1817条经验 获得超6个赞
如果你想断言左边的东西不是,它应该是一个消极的眼光,而不是一个积极的看。eq (?<!
您可以使用 2 个查看断言来编写模式。
(?<!\()(?<!eq )'(?!\)|\Z)
正则表达式演示|Python demo
示例代码
import re
text = "('hel'lo') eq 'some 'variable he're'"
print(re.compile(r"(?<!\()(?<!eq )'(?!\)|\Z)").sub(string=text, repl="''"))
输出
('hel''lo') eq 'some ''variable he''re'
添加回答
举报
0/150
提交
取消