2016-09-02 5 views
0

Ich benutze Notepad ++, und ich muss einen Teil von vielen verschiedenen Textzeilen nehmen, die ziemlich ähnlich sind, und sie in eine andere Zeile setzen.Notepad ++ Hilfe Möglicherweise mit Regex?

Hier ist ein Beispiel dafür, was ich

haben
- '@AND b $testing123.<playeruuid> = false' 
    - '@AND b $thisisatest.<playeruuid> = false' 

und ich möchte, dass drehen in

- '@AND b $testing123.<playeruuid> = false' 
    - '@SETBOOL $<playeruuid>.name testing123' 
    - '@AND b $thisisatest.<playeruuid> = false' 
    - '@SETBOOL $<playeruuid>.name thisisatest' 

ich der Verwendung eines Fund wurde Denken/ersetzen regulären Ausdruck, so etwas zu tun:

Suche:

- '@AND b $x.<playeruuid> = false' 

und Ersetzen durch:

- '@AND b $x.<playeruuid> = false' 
    - '@SETBOOL $<playeruuid>.name x' 

Natürlich ist dies nicht in regex-Format ist, aber das ist, was ich versuche zu tun, und ich weiß nicht, wo ich anfangen soll.

Also zusammenfassend möchte ich einen Teil eines Musters nehmen und es in eine andere Textzeile stecken, aber in Masse?

Ich bin nicht genau sicher, wie man es gut erklärt. Es tut mir sehr leid für den Mangel an Details.

+0

Im Gegensatz zu der engen Abstimmung, ich glaube nicht, die Frage zu breit ist. Es würde nur einige sorgfältige Verwendung des Regex-Abgleichs erfordern. –

Antwort

1

Sie können diese unter Verwendung finden erreichen und ersetzen (CTRL + H) in regex Modus:

Suche:

- '@AND b \$(.*)?\.(<.*?>) = false' 

ersetzen:

- '@AND b \$$1.$2 = false'\n - '@SETBOOL \$$2\.name ($1)' 

Die Mengen in Klammern heißen Erfassungsgruppen, weil die Regex-Engine erfasst, was in ihnen enthalten ist, während sie übereinstimmen. Die Erfassungsgruppen können dann in der Ersetzung als $1 für die erste Erfassung oder $2 für die zweite Erfassung verwendet werden.

ist hier ein Screenshot:

enter image description here

+0

Diese ersetzen die ursprüngliche Zeile ('@AND ...'), aber sie muss beibehalten werden (add '$ 0 \ n' am Anfang des Ersetzungsteils) – Toto