我要解析以下句子:
如果快速的棕色狗跳过懒惰的红狗,那么那只疯狂的红狗会跑过那只懒散的红狗。
我想在“the”和“red dog”之间找到所有出现的字符。 目前的正则表达式:
.*the(.*?)red dog.*
预期结果组(注意空格): “懒惰” “疯狂的” “懒惰”
Current Regex Groups Result using regex101 PHP
如何修改当前的正则表达式以获取所有预期的组?
答案 0 :(得分:1)
以下内容应该有效:
\bthe\b((?:(?!\bthe\b).)*?)\bred dog\b
单词边界阻止您匹配“then”而不是“the”之类的内容,(.*?)
已替换为((?:(?!\bthe\b).)*?)
以确保没有“the”更接近于我们可以开始比赛的“红狗”。
答案 1 :(得分:0)
答案 2 :(得分:0)
编辑:考虑以下正则表达式...
(?<=the)\s?\w*?\s?(?=red dog)