У меня есть несколько тысяч файлов кода. На будущее мне нужно избавиться от метода, но я хочу сохранить аргумент в той же строке. Я хотел бы решить проблему с регулярным выражением в Nodepad++
Метод выглядит так
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
В результате я хочу получить следующий контент
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Поэтому мне нужно избавиться self.result(
от последних скобок.)
Я нашел в другой теме похожую проблему
Как удалить весь текст, кроме того, что находится между двумя строками (Notepad++)
Очевидно, что я не могу сделать следующее.
искать:
self.result(([^))]*) #Match "self.result(" followed by any
#number of characters which are not "))"
replace with \1) #replace with what is in between and
#add a parentheses
Кто-нибудь может мне помочь?
Большое спасибо
решение1
Мне нужно избавиться от метода, но я хочу сохранить аргументы в той же строке.
Меню «Поиск» > «Заменить» (или Ctrl+ H)
Установите «Найти что» на
self.result\((.*)\)\R
.Установите «Заменить на»
\1
Включить «Регулярное выражение» и «соответствует новой строке»
Нажмите «Заменить все».
Примечания:
Использовать
\r\n
для Windows EOLИспользовать
\n
для Unix/OSX EOLИспользовать
\r
для Mac OS (до версии 9) EOLВ качестве альтернативы используйте
\R
то, что должно работать на любой ОС
До:
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
После:
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
дальнейшее чтение
- Как использовать регулярные выражения в Notepad++ (учебник)
- Notepad++: Руководство по использованию регулярных выражений и расширенного режима поиска
- Учебник по регулярным выражениям
- RegExr: изучайте, создавайте и тестируйте RegEx
- regex101: Онлайн-тестер и отладчик регулярных выражений
- RegExper: визуализатор регулярных выражений