@postgresdev

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

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

Преобразует только первое вхождение.
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 2
@DanKud
preg_replace_callback("|([0-9]+;?)|", function($matches) {
Ответ написан
Комментировать
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Плюсиком не иначе
если нужно заменить 'vas' в строке 'vasiliy vasilievich' регулярка ~(^|[ ])vas~
словами "взять vas перед которыми начало или пробел"

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

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

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

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

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

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