@Albert1991

Какое регулярное выражение подойдет?

Подскажите, пожалуйста, какое подойдет регулярное выражение, чтобы оно брало следующую строку после заданной строки.

Например: имеем текст

AD
Andorra
AT
Austria
BY
Belarus

Как мне спарсить Austria, если известно AT?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 4
@StockholmSyndrome
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Видоизмененный вариант Stockholm Syndrome, где вместо хардкода значения AT мы ищет двухбуквенный индекс, из 2х заглавных латинских букв. Будет универсально работать для всех стран.

https://regex101.com/r/I8qfsg/3
Ответ написан
Комментировать
@Catrinblaidd
function nextString($text, $str) {
  \preg_match("/{$str}[\r\n]+([^\r\n]+)/u", $text, $matches);
  if (isset($matches[1])) {
    return $matches[1];
  } else {
    return false;
  }
}
Ответ написан
Комментировать
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
Как мне спарсить Austria, если известно AT?
~AT\s\K\pL+~
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы