Задать вопрос

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

'/((?<=\||\d{11}|\})(8496|8916|7891)(?=\d{7}))|(?<=\||\d{10}|\})(8496|8916|7891)(?=\d{7})/'


Проблема в том, что сначало должно выполнится первоя часть:
((?<=\||\d{11}|\})(8496|8916|7891)(?=\d{7}))
Но почему то выполняется вторая:
((?<=\||\d{10}|\})(8496|8916|7891)(?=\d{7}))

тоесть замена идет не попорядку
  • Вопрос задан
  • 2168 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
benbor
@benbor
Помог ответ - не забудь лайкнуть
Какая замена? в чем? где пример текста, на который вы его запускали? где названия языка программирования? или вы наивно полагаете, что все языки программирования одинаково реализуют regexp? Лучше, если это будет кусок кода, или jsfiddle ( если речь о js)
Ответ написан
Комментировать
@ihorbalias Автор вопроса
php, замена через функцию preg_replace, пример 8496121212789161212122
сперва идет замена 10 символов в начале, а должно 11 сначало брать.
делает: 8496121212|789161212122
должно делать: 84961212127|89161212122
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
Wanted. Санкт-Петербург
До 100 000 ₽
02 янв. 2025, в 20:05
100000 руб./за проект
02 янв. 2025, в 19:59
20000 руб./за проект
02 янв. 2025, в 19:28
1000 руб./за проект