habe ich eine Textdatei mit einer Liste von Elementen durch Zeilenumbrüche getrennt, wie folgt aus:Regex Hinzufügen von unerwünschten Zeilenumbruch zwischen Rückreferenzierung und wörtlichen in Notepad ++
alpha
beta
gamma
...
ich es in diesem Format erhalten möchten:
(alpha),
(beta),
(gamma),
...
Also habe ich folgende reguläre Ausdrücke in Notepad ++ verwenden für das ersetzen Sie diese Zeilen:
Find: ([^\n]+)
Replace: \($1\),
aber die Ausgabe hat jetzt seltsam anderen Zeilenumbruch für jede Zeile hinein:
(alpha
),
(beta
),
(gamma
),
...
ich keine Ahnung, wie dies geschieht. Wenn ich nur $1
oder \),
als Ersatz benutze, funktioniert es gut, aber jedes Mal, wenn ich ein Literal nach der Rückreferenz einfüge, wird ein Zeilenumbruch dazwischen gesetzt. Ich weiß, dass ich danach mit einem anderen regulären Ausdruck umgehen kann, aber könnte mir jemand erklären, warum genau das passiert?
Es ist wahrscheinlich '\ r', aber ich würde dies stattdessen empfehlen tun: (. *) ['^$ 'Ersetzen mit' ($ 1) , 'und stellen Sie sicher, dass' m' Modifizierer aktiviert ist (https://regex101.com/r/NmDw4r/1) – ctwheels
Anstelle von '[^ \ n]' sollten Sie '.' verwenden, die nur mit einem anderen Zeichen als der Zeile übereinstimmen Bruchzeichen. Nur wenn Sie ein anderes Zeichen "ausschließen" müssen, können Sie etwas wie '[^ \ r \ n:]' verwenden (das entspricht jedem Zeichen außer CR, LF und ':') –
Ahh, ich habe gerade herausgefunden, dass es das ist "Ich habe es verpasst, alberne mich. Danke für die Info. – StrikeAgainst