2016-09-19 3 views
1

Ich versuche hier mitfinden und neu anordnen Befehle einen regulären Ausdruck in Notepad ++

CVariable magnet("magnet", "1", "Enable magnet") 

Dinge wie diese

MakeVariable(magnet, "1", "Enable magnet") 

und ersetzen zu finden ist, was habe ich versucht,

Find What: MakeVariable(([^ ]+), 

Replace with: CVariable \1 ("\1 ", 
+0

Sollte das nicht sein 'MakeVariable \ (([^] +),'? Sie könnten auch versuchen, '\ g <1>' statt '\ 1 '. – Xufox

+0

Eigentlich ist die' ('in Das Ersatzmuster sollte ebenfalls mit Escapezeichen versehen werden, da NPP die bedingten Ersatzmuster des Boost-Stils verwendet, wobei Klammern eine besondere Bedeutung haben. –

Antwort

1

Sie müssen buchstäbliche Klammern sowohl im Such- als auch im Ersetzungsmuster vermeiden.

Auch, wenn Ihr erstes Argument ein Stück Wort Zeichen \w+ verwenden Sie es zum Spiel:

Finden Sie, was: MakeVariable\(\s*(\w+)
Ersetzen mit: CVariable $1\("$1"

Einzelheiten:

  • MakeVariable - MakeVariable Text
  • \( - eine Literal (
  • \s* - null oder mehr Leerzeichen
  • (\w+) - Gruppe 1 passend ein oder mehr Wort Zeichen

Alternative Lösung ähnliche ursprüngliche Muster ist ein MakeVariable\(\s*(\S+), regex zu suchen und CVariable $1\("$1", Muster zu ersetzen (wo \w+ durch \S+ ersetzt wird - ein oder mehrere Nicht-Leerzeichen-Symbole).

enter image description here

Verwandte Themen