
Ich habe mehrere tausend Codedateien. Für die Zukunft muss ich eine Methode loswerden, aber ich möchte das Argument in derselben Zeile behalten. Ich möchte das Problem mit Regex in Nodepad++ lösen
Die Methode sieht so aus
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Als Ergebnis möchte ich folgenden Inhalt
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
self.result(
Also muss ich die letzten Klammern entfernen.)
Ich habe in einem anderen Thread ein ähnliches Problem gefunden
So löschen Sie den gesamten Text außer dem zwischen zwei Zeichenfolgen (Notepad++)
Es ist offensichtlich, dass ich Folgendes nicht tun kann
suchen nach:
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
Kann mir jemand helfen?
Vielen Dank
Antwort1
Ich muss eine Methode loswerden, möchte aber die Argumente in derselben Zeile behalten
Menü "Suchen" > "Ersetzen" (oder Ctrl+ H)
Setzen Sie „Suchen nach“ auf
self.result\((.*)\)\R
.Setzen Sie "Ersetzen durch" auf
\1
Aktivieren Sie „Regulärer Ausdruck“ und „stimmt mit Zeilenumbruch überein“
Klicken Sie auf „Alle ersetzen“
Anmerkungen:
Verwendung
\r\n
für Windows-EOLsVerwendung
\n
für Unix/OSX EOLsVerwendung
\r
für Mac OS (bis Version 9) EOLsAlternativ verwenden Sie
\R
, was auf jedem Betriebssystem funktionieren sollte
Vor:
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Nach:
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Weiterführende Literatur
- So verwenden Sie reguläre Ausdrücke in Notepad++ (Tutorial)
- Notepad++: Eine Anleitung zur Verwendung regulärer Ausdrücke und des erweiterten Suchmodus
- Tutorial zu regulären Ausdrücken
- RegExr: RegEx lernen, erstellen und testen
- regex101: Online-Tester und Debugger für reguläre Ausdrücke
- RegExper: Visualisierer für reguläre Ausdrücke