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

Regex 如何使用*量词在非捕获内部捕获?,regex,Regex,我有一个模式: abc77cat77dot77bingo77secretff 想捕捉猫、点、宾果和秘密 这就是我所拥有的: (?:77(.+?))*ff 它只抓住了秘密。我怎样才能抓住上面所有的单词?我正在尝试此操作您可以使用: (.*?)(77|ff) 我只是使用两个捕获组:一个用于单词,另一个用于分隔符。注意*之后的?。它的意思是不灵活或懒惰的比赛。也不要错过传递g选项(代表全局) 使用lookaronds,您可以使用以下正则表达式: (?<=77|ff)(\w+?)(?=77|

我有一个模式:

abc77cat77dot77bingo77secretff
想捕捉猫、点、宾果和秘密

这就是我所拥有的:

(?:77(.+?))*ff
它只抓住了秘密。我怎样才能抓住上面所有的单词?我正在尝试此操作

您可以使用:

(.*?)(77|ff)
我只是使用两个捕获组:一个用于单词,另一个用于分隔符。注意
*
之后的
。它的意思是不灵活或懒惰的比赛。也不要错过传递
g
选项(代表全局)


使用lookaronds,您可以使用以下正则表达式:

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

(?我相信您要寻找的正则表达式是

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

将其从非捕获中移出…您使用的是哪个正则表达式引擎?如果我访问regex101.com并单击PY,它将不起作用,但您的链接会起作用。给出了什么?您是否指定了
g
选项?g有帮助,但我不想要两个捕获组。谢谢,我没有想到使用lookarounds。这个解决方案最简单。我的回答是er没有考虑到abc不应该是匹配的。你的是!+1