跟在带量词的前瞻后面有什么作用?

What does following a lookahead with a quantifier do?(跟在带量词的前瞻后面有什么作用?)

本文介绍了跟在带量词的前瞻后面有什么作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是试着想清楚这个问题,这个问题是我在和积极的头脑打交道时突然想到的。

此正则表达式有意义吗?

foo(?=bar)+

re.match()不返回错误,但如果+量词有任何意义,我不知道它会是什么。(FWIW,regex101.com给出错误‘前面的令牌不可量化’)

推荐答案

这里没有理由使用+量词。正则表达式lookahead和lookbehinds实际上并不匹配任何文本,这意味着如果它们在一个位置匹配一次,它们将连续"匹配"无限次。它似乎足够聪明,不会多次尝试匹配先行查找,因为它不会陷入无限循环。

换句话说,只要坚持使用不合格的lookahead:foo(?=bar)就是最好的。

这篇关于跟在带量词的前瞻后面有什么作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:跟在带量词的前瞻后面有什么作用?