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

时间:2017-06-06 16:14:25

标签: python regex syntax

我有正则表达式re.sub(r"(?<!\s)\}", r' }', string)(?<!…)序列表示什么?

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:4)

它是一个回顾。请参阅此处的说明:http://www.rexegg.com/regex-disambiguation.html#negative-lookbehind

引自来源:

  匹配后

负面反对: \d{3}(?<!USD\d{3})
  说明: \d{3}匹配 100 ,然后负面的lookbehind (?<!USD\d{3})断言在字符串中的那个位置,紧接在前面的不是字符“ USD “然后三位数。