Я пытаюсь сопоставить все от последнего вхождения ключевого слова (foo или bar) до конца строки.
Пример (а):
// I want to match ' foo do you?';
$source = 'This is foo and this is bar i like foo do you?';
$pattern = '/pattern/';
preg_match($pattern, $source, $matches);
Я попробовал следующее:
$pattern = '/( (foo|bar) .*)$/';
Думая, что это будет соответствовать последнему вхождению foo
и всему следующему тексту, но вместо этого оно соответствует первому вхождению.
print_r($matches);
/*
Array
(
[0] => foo and this is bar i like foo do you?
[1] => foo and this is bar i like foo do you?
[2] => foo
)
*/
Примечание Я занимаюсь теорией и обоснованием того, как это сделать, поэтому, пожалуйста, добавьте некоторое объяснение или ссылку на соответствующее объяснение, пожалуйста.