У меня есть длинная строка, которую я хотел бы проанализировать для одного или нескольких совпадений.
Каждое совпадение начнется с имени "Джон" или "Июль ie", перед текстом должен быть текст второе совпадение «коричневый» или «красный», а затем оставшийся текст после этого совпадения, перед точкой ИЛИ дополнительный экземпляр совпадения достигнут.
Например, эта строка:
John likes brown cows and Julie eats red apples and tomatoes. I KNOW John hates red dates that are bruised but John likes red.
Даст эти 4 матча
John likes brown cows and
Julie eats red apples and tomatoes.
John hates red dates that are bruised but
John likes red.
Я пробовал что-то подобное, и это слишком жадно. Первое совпадение соответствует всему.
(John|Julie).*?(brown|red).*[.]+
Что мне нужно использовать для preg_match_all () в PHP?
Нужно ли использовать lookahead / lookbehind