如何用*量词捕获非捕获内部?

时间:2015-10-09 19:24:26

标签: regex

我有一个模式:

abc77cat77dot77bingo77secretff

想捕捉猫,点,宾果和秘密。

这就是我所拥有的:

(?:77(.+?))*ff

它只捕获秘密。我如何捕捉上面的所有单词?我在https://regex101.com/#python

上尝试此操作

3 个答案:

答案 0 :(得分:1)

您可以使用此:

(.*?)(77|ff)

我只是使用两个捕获组:一个用于单词,一个用于分隔符。请注意?之后的.*。这意味着 ungreedy lazy 匹配。另外,请不要错过传递g选项(代表全球)。

https://regex101.com/r/wF3nD3/1

答案 1 :(得分:1)

使用lookaronds你可以使用这个正则表达式:

(?<=77|ff)(\w+?)(?=77|ff)

RegEx Demo

这将匹配一个或多个单词字符,前面有77ff或后跟77ff

答案 2 :(得分:0)

我相信你要找的正则表达式是

(?:77([a-z]+)*)

http://www.regexplanet.com/advanced/python/index.html enter image description here