只是试图围绕这个问题进行思考,这个问题发生在我身上,当时我正在搞好积极的前瞻。
这个正则表达式有意义吗?
foo(?=bar)+
re.match()不会返回错误,但如果对' +'有任何意义。量词,我无法计算它会是什么。 (FWIW,regex101.com给出错误'前面的标记不可量化' ...)
感谢。
/约翰
答案 0 :(得分:1)
此处没有理由使用+
量词。正则表达式前瞻和后瞻实际上并不匹配任何文本,这意味着如果它们在一个位置匹配一次,它们将匹配"连续无数次。似乎python足够聪明,不会多次尝试匹配前瞻,因为它不会陷入无限循环。
换句话说,只要坚持不合格的前瞻:foo(?=bar)
是最好的。