2017-02-07 2 views
2

Ich möchte bestimmte Wörter in Javascript ersetzen, aber es muss das genaue Wort sein. Wenn das Wort beispielsweise ausgeführt wird, sollte die Ausführung nicht übereinstimmen.Wie man bestimmte Wörter ersetzt, ohne den Whitespace vorher in regex zu ersetzen

Der aktuelle Regex-Ausdruck ersetzt den Leerraum vor den Wörtern. Wie kann ich dafür sorgen, dass alle Fälle des exakten Wortes (auch am Anfang des Satzes) gefunden werden, ohne die Leerzeichen zu ersetzen, aber Kommata, Fragezeichen usw. zu ignorieren? Vielen Dank!

new RegExp('([^a-zA-Z0-9_-]|^)' + wa + '(?![a-zA-Z0-9_-])' 
+1

Aktie ein Beispiel –

+0

Verwenden '\ b 'an Wortgrenzen übereinstimmen w/o ein Zeichen raubend. – CollinD

Antwort

1

Verwenden word boundary(\b) die Wortgrenze geltend zu machen.

new RegExp('\\b' + wa + '\\b') 

Oder mit captured group Wert ersetzen.

string.replace(new RegExp('([^a-zA-Z0-9_-]|^)' + wa + '(?![a-zA-Z0-9_-])'), '$1') 
Verwandte Themen