2017-02-06 2 views
1

У меня есть следующий синтаксис:Notepad ++ заменить последний символ в поисковом регулярном выражении

"DI000001-DM-BEL-THONL-D1" 

, который должен быть разделен на

"DI000001","DM-BEL-THONL-D1" 

Его можно найти только с помощью этого регулярного выражения:

DI[0-9]{5,6}- 

Но последнее, что необходимо заменить на «,»

Как вы вырезаете символ в обратной ссылке?

+0

Непроверенные: '(DI [0-9] {5,6}) -', заменить "$ 1" – jensgram

ответ

2

Вы можете искать этот

(DI\d{5,6})- 

И заменить

$1"," 
2

Вы не можете «вырезать символ в обратной ссылке», но вы можете использовать захват группу по шаблону, который соответствует текст, который вам нужно сохранить (и использовать ссылку на него в шаблоне замены - см. Niitaku's answer) или отбросить часть текста, согласованного до сих пор в текущей итерации, с использованием оператора \K:

DI[0-9]{5,6}\K- 
      ^^ 

Заменить на ",".

enter image description here

+0

Ницца. Узнал что-то новое. '\ K' для потери памяти. Есть ли в модуле Python? – MYGz

+0

Спасибо за обширный ответ, но я отметил Niitaku, так как это не сработало для меня (возможно, разница в версии/плагине?) – Laurens

+0

Вы в Linux? –

Смежные вопросы