Verwendung von Variablen in Regular Expression in Javascript

8

Ich möchte ein JavaScript in JavaScript erstellen, das einem Wort entspricht, aber kein Teil davon ist. Ich denke, dass sowas wie \ bword \ b dafür gut funktioniert. Mein Problem ist, dass das Wort nicht im Voraus bekannt ist, also würde ich gerne den regulären Ausdruck mit einer Variablen zusammenstellen, die das Wort enthält, das in etwa folgendermaßen aussieht:

%Vor%

was mir aufgefallen ist, funktioniert nicht. Meine Idee ist, bestimmte Wörter in einem Absatz durch ein span-Tag zu ersetzen. Kann mir jemand helfen?

PS: Ich benutze jQuery.

    
Andre Garzia 06.05.2011, 20:45
quelle

4 Antworten

13

\ ist ein Escape-Zeichen in regulären Ausdrücken und in Strings.

Da Sie den regulären Ausdruck aus Strings zusammenstellen, müssen Sie die \ s in ihnen entkernen.

%Vor%

sollte den Trick machen, obwohl ich es nicht getestet habe.

Sie sollten wahrscheinlich kein global für r verwenden (und wahrscheinlich auch nicht für reg ).

    
Quentin 06.05.2011, 20:48
quelle
3

Du entkommst dem Backslash nicht. Du solltest also:

%Vor%

Sie sollten auch Sonderzeichen in "Wort" vermeiden, weil Sie nicht wissen, ob es spezielle Sonderzeichen haben kann.

Hoffe, das hilft. Prost

    
Edgar Villegas Alvarado 06.05.2011 20:49
quelle
0

Und schreibe keine Ausdrücke in die regexp-Variable, weil es nicht funktioniert!

Beispiel (funktioniert nicht):

%Vor%

Beispiel, das die Zeichenfolge wie erwartet zurückgibt:

%Vor%     
primoz060 08.01.2013 07:18
quelle
0

Benutze dies

%Vor%     
Mayur Mundekar 29.04.2015 11:39
quelle

Tags und Links