“(?<!...)”符号在Python正则表达式中的含义是什么?

问题描述:

我有正则表达式re.sub(r"(?<!\s)\}", r' }', string)(?<!…)序列指示什么?“(?<!...)”符号在Python正则表达式中的含义是什么?

+1

实际上这是一个负面的后台https://docs.python.org/2/ library/re.html – quantik

它比您提供的正则表达式中的<符号多一点。

实际上有什么是“负面后顾”:(?<! )这是说“什么是在这之前不是......”。在你的情况下,它正在寻找},条件是它之前不是\s - 空格(制表符,空格...)

它是一个回顾。看到这里的解释:

负回顾后赛后:\d{3}(?<!USD\d{3})
说明:\d{3}比赛,则负回顾后(?<!USD\d{3})声称,在从源引用http://www.rexegg.com/regex-disambiguation.html#negative-lookbehind

在字符串中的那个位置,紧跟在前面的不是字符“USD”,然后是三位数字。

+0

@ChristopherKyleHorton出于某种原因,块引用不喜欢转义字符并删除\ d后的所有文本。你可以编辑的任何方式? –

+1

在队列中打开一个位置,我可以为您编辑此位置。为了您的参考,您可能希望[请参阅我在Markdown中所做的更改](https://*.com/posts/44395127/revisions),以便您可以在将来自行完成这些更改。 –

+0

@ChristopherKyleHorton谢谢你,下一次做非常有用。 –