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

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

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

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