法典: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
提交
取消