@iol77

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

Задачу пытаюсь выполнить в sublime text, но подойдёт любое решение.
Есть словарь синонимов вида
контура|силуэта|абриса|профиля
контурам|силуэтам|абрисам|профилям
контурами|силуэтами|абрисами|профилями
контурах|силуэтах|абрисах|профилях
контуре|силуэте|абрисе|профиле

нужно привести его к виду
контура|силуэта,абриса,профиля
контурам|силуэтам,абрисам,профилям
контурами|силуэтами,абрисами,профилями
контурах|силуэтах,абрисах,профилях
контуре|силуэте,абрисе,профиле

т.е. заменить на запятую в строке все | кроме первой.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 2
@forspamonly2
одним регэкспом это не каждый регэксповый движок может.

например вот такое: https://regex101.com/r/zvs6Nq/1 в хроме работает, а в фаерфоксе - нет.

вам, наверное, проще всего в несколько проходов сделать - гонять замену второй по счёту палки, пока они не перестанут заменяться.
https://regex101.com/r/zvs6Nq/3/
Ответ написан
Комментировать
@dodo512
https://regex101.com/r/nw07ip/2
Find: ((^[^|\n]+\||\G)[^|\n]+)\|
Replace: $1,
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@iol77 Автор вопроса
Всем спасибо, sublime text справился с обеими предложенными регулярками.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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