Regex замініть на Notepad ++


0

У моєму XML-файлі є багато підрядів, починаючи з STDSUP-, а потім три цифри. Наприклад: STDSUP-123. Я хотів би замінити STDSUP на CCDA. Є деякі підрядки, де STUSUP- слідкує за нечисловими символами. Я не хочу їх змінювати. Отже, я використовував STDSUP- \ d \ d \ d у полі знаходження та CCDA- \ d \ d \ d в заміні поля. Але три цифри отримують заміну на ddd. Я хочу замінити лише STDSUP і хочу, щоб цифри були незмінними.

Будь-яка допомога?

Відповіді:


1

Щоб частина рядка залишилася недоторканою, ви хочете використовувати групу в виразі "знайти" і зворотну посилання у вашому "замінити".

Знайти: STDSUP-(\d\d\d)
Замінити:CCDA-\1

скріншот


1

Починаючи з Notepad ++ версії 6, ви також можете розділити збіг із групами захоплення у стилі PCRE:

Знайдіть що: (STDSUP -) (\ d \ d \ d)

Замініть на: CCDA - $ 2


-1: Це не працює в Блокноті ++ - він замінює рядок цифр, з яким хотів зберегти ОП $2. Дивіться цю скріншот .
nc4pk

1
Він працює в Notepad ++ , починаючи з версії 6. Див: stackoverflow.com/a/11970406/1521193
kjh23

Ах, мій поганий. Я все ще працював над старою версією. Відредаговано та скасовано :)
nc4pk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.