2016-07-27 10 views
-2

Ist es möglich, "this" durch "that" und "This" mit "That" in einem Regex zu ersetzen?Regex ersetzen das behält Großschreibung

Perl-Erweiterungen und andere spezielle Tricks sind erlaubt.

Edit: Es ist zu einfach, wenn der Ersatz mit dem gleichen Buchstaben beginnt. Wie wäre es server-node und Server-Node

Angenommen ich über den ersten Buchstaben nur Pflege und Verwendung von Perl, kam ich mit:

s/(s)erver/($1 eq uc $1 ? "N" : "n") . "ode"/ie 
+0

Ich habe 's/this/das/i' versucht, aber es konvertiert beide zu' das 'natürlich. –

+0

Regex ist nichts zum Ersetzen. Es ist zum Suchen. – xenteros

+0

Ok, aber die Regex-Systeme der meisten Sprachen enthalten eine Ersatzfunktionalität mit $ 1, $ 2 usw. –

Antwort

0

Ja, können Sie es gerne tun:

var z = "This this"; 
z.replace(/([Tt])his/g, '$1hat'); 

Ergebnis wäre: That that