AlexeyGfi
@AlexeyGfi
YouTube >>> Битриксоид из Колхоза

Как перебрать все пары в строке?

Всем привет!
Помогите пожалуйста раз"липнуть" =)

Нужно заменить все пары (диез между числами) в строке.
Чтобы
8-911-1234567
8-495-1-234-zzz
...стал таким:
8|911|1234567
8|495|1|234-zzz

Перепробовал:
([0-9.]+)\-
=== -zzz подхватывает, а не должно
(([0-9.]+)\-)+([0-9]+)
=== клеит все последовательности в одну строку и только хвост разделяет на пару
https://regex101.com/r/qF7vT8/63
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
qork
@qork
{ background: #F00B42 }
Тут либо negative lookahead (выбираешь тире) /-(?![a-z])/
https://regex101.com/r/czLHsu/1/

Либо таким способом: /\d+(-[a-z]+)?/
https://regex101.com/r/lEEC52/1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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