Регулярные выражения NotePad++
Как заменить первые два символа, оставив остальное
Текст:
ФИО-231-RAMA-1232;ФИО-241-RAMA-1232;ФИО-255-RAMA-1232… (еще миллион похожих)
Мы хотим в нем заменить -231- на -331-, -245- на -345- и так далее. Т.е. только первое число в сопадении с регуляркой.
Мы можем найти -231- с помощью регулярки:
-\d{3}- выбрать текст из трех цифр между двумя тирешками.
Но как поменять только первый символ, оставив остальные без изменений?
Для этого нам нужно разбить поиск на токены, и оставить один из них без изменений, заменив другой:
-(\d{1})(\d{2})- Это регулярное выражение так же найден нашу строку. Но теперь у нас есть два токена и с помощью выражения
-3$2- этим выражением мы избавляемся от первого токена, и оставляем только второй, в итоге строка превращается в:
ФИО-331-RAMA-1232;ФИО-341-RAMA-1232;ФИО-355-RAMA-1232… (еще миллион похожих)
Немного подробнее по теме: https://www.tutorialsteacher.com/regex/substitution
Поиграться с токенами: https://regex101.com
Добавить комментарий