正则表达式 - 向后看需要固定宽度的图案错误

法典:


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'


泛舟湖上清波郎朗
浏览 126回答 1
1回答

慕的地6264312

如果你想断言左边的东西不是,它应该是一个消极的眼光,而不是一个积极的看。eq (?<!您可以使用 2 个查看断言来编写模式。(?<!\()(?<!eq )'(?!\)|\Z)正则表达式演示|Python demo示例代码import retext = "('hel'lo') eq 'some 'variable he're'"print(re.compile(r"(?<!\()(?<!eq )'(?!\)|\Z)").sub(string=text, repl="''"))输出('hel''lo') eq 'some ''variable he''re'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python