2016-10-18 2 views

Antwort

1

Unabhängig von der Sprache ist ein Muster mit runden Klammern entweder \( oder [(]. Wenn Sie beim Ersetzen einen ganzen Übereinstimmungswert verwenden müssen, gibt es $& oder $0 Rückverweise.

So Suche nach /[(]/g (Sie können mehr Zeichen in der Zeichenklasse schreiben, [()\][] ...) und ersetzen mit "$&\n" (oder "$0\n").

Siehe die regex demo.

A JS Demo:

var regex = /[(]/g; 
 
var str = "before(after and before 1(after1"; 
 
var subst = "$&\n"; 
 
var result = str.replace(regex, subst); 
 
console.log(result);

+0

Wenn Sie Feedback haben, können Sie hier Kommentare hinterlassen. –

+0

Danke hat es gelöst. Allerdings hat nur "$ & \ n" eine neue Zeile hinzugefügt, während "$ 0 \ n" eher die Klammer ersetzt hat. – user2894296

+0

Also, es ist JS und Sie verwenden IE, oder? Beachten Sie, dass ich '$ 0' bei regex101 verwenden musste, da aus irgendeinem Grund die' $ & 'Rückreferenz für den JS regex flavour nicht erkannt wird. Es ist ein Fehler. Ich habe hier einen Ausschnitt hinzugefügt. –

Verwandte Themen