Ich weiß, dass ich ein Javascript so ersetzen kann:
str = str.replace(/mytarget/g, 'some value');
ersetzt alle Vorkommen des Literals mytarget
.
Ich habe jedoch ein großes Array von Wörtern / Phrasen, die ich in regex replace verwenden möchte, und da regexps nur Sprachelemente sind (sie werden bei der Deklaration nicht in einen String eingeschlossen), kann ich keine Möglichkeit finden, regexps programmgesteuert zu deklarieren es sei denn, ich kodiere sie fest. Also wenn ich:
var arr=['word', 'another', 'hello'];
Ich möchte produzieren:
str = str.replace(/word/g, 'some value');
str = str.replace(/another/g, 'some value');
str = str.replace(/hello/g, 'some value');
Bitte posten Sie ein Beispiel, dass ich regexps verwenden kann, da ich mehr Ausdrücke in die regulären Ausdrücke wie Whitespace usw. einfügen werde, also brauche ich es auf die Art und Weise wie es regexp ist. Schließlich, bitte bieten Sie nicht mit eval
, ich bin mir sicher, dass es einen besseren Weg gibt.
Sie müssen die RegExp-Konstruktorfunktion dafür aufrufen. Beispiel:
%Vor% Das erste Argument für den Konstruktor ist eine Zeichenkette, die buchstäblich alles übernimmt, was Sie zwischen //
einfügen würden. Der zweite Parameter ist ebenfalls eine Zeichenfolge, in der Sie Modifikatoren wie g
, i
usw. übergeben können.
Tags und Links javascript regex replace