@postgresdev

С помощью какого модификатора повторить регулярное выражение многократно?

В строке повторяються метасимволы многократно их все нужно заменить. Использую следующий код:
preg_replace_callback("|([0-9]+;)|U", function($matches) {

Преобразует только первое вхождение.
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 2
gzhegow
@gzhegow
Думал, стану умнее, когда адаптируюсь, но нет
Плюсиком не иначе
если нужно заменить 'vas' в строке 'vasiliy vasilievich' регулярка ~(^|[ ])vas~
словами "взять vas перед которыми начало или пробел"

дальше либо preg_match_all() чтобы найти все, либо preg_replace() которая и так пройдется по всем.

другой вопрос - что метасимволов подряд сколько-то и ты хочешь их все в разные группы, тогда такое ~([0-9]+;)+~
но это будет как бы выборка нескольких групп идущих подряд, а не всех повторений в строке

мне кажется в твоем случае у тебя регулярка не совсем правильная.

можешь потренироваться на regex101 сайте, там сразу видно результат
Ответ написан
Ваш ответ на вопрос

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

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