Найти подстроки в строке, где подстрока заключена в определенный символ
У меня есть строка в формате:
"The quick __grey__ fox jumps over the lazy __brown__ dog."
И я хочу найти и заменить любые слова (или иногда предложения) между двойным подчеркиванием.
В настоящее время я использую preg_match_all в PHP:
$pattern = '/__(.*)__/';
Это работает нормально ... пока не найдет два набора двойных подчеркиваний на одной строке, например, в приведенном выше примере, где он соответствует "__grey__" и "__brown__", как я хочу, но также "__grey__ fox перепрыгивает через ленивый коричневый цвет__" "чего я не хочу ...
Итак, мой вопрос: есть ли способ сопоставления только между первым и вторым экземпляром, третьим и четвертым экземпляром и т. Д.?
Я прошу прощения, если это было задано ранее, но я действительно не уверен, как сформулировать вопрос так кратко, чтобы выполнить полезный поиск!
Заранее спасибо.