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