Ich versuche, eine Zeichenfolge in der Zeichenfolge zu finden. Aber der folgende Code gibt immer "null" zurück. Offensichtlich ging etwas schief, aber da ich ein Neuling bin, kann ich es nicht erkennen. Ich erwarte, dass der Code "wahr" anstelle von "null" zurückgibt
%Vor% Sie mischen die beiden Möglichkeiten zum Erstellen von Regexes in JavaScript. Wenn Sie ein Regex-Literal verwenden, ist /
der Regex-Begrenzer, der% modifier g
folgt unmittelbar dem schließenden Begrenzer und \b
ist die Escape-Sequenz für eine Wortgrenze:
Wenn Sie es in Form eines String-Literals für den RegExp-Konstruktor erstellen, lassen Sie die Regex-Begrenzer weg, übergeben Sie Modifizierer in Form eines zweiten String-Arguments, und Sie müssen die Backslashes in Regex-Escape-Sequenzen verdoppeln:
%Vor% Wie Sie es tun, wird \b
in ein Backspace-Zeichen konvertiert, bevor es den Regex-Compiler erreicht; Sie müssen dem umgekehrten Schrägstrich entkommen, um ihn an die String-Literal-Escape-Sequence-Verarbeitung von JavaScript zu übergeben. Oder verwenden Sie ein Regex-Literal.
Beachten Sie, dass '\\ b' ein einzelner Schrägstrich in einer Zeichenfolge ist, gefolgt von dem Buchstaben 'b', '\ b' ist der Escapecode \b
, der nicht existiert, und wird auf 'b' reduziert.
Beachten Sie auch das Maskieren von Metazeichen in der Zeichenfolge, wenn Sie beabsichtigen, dass sie nur ihre literalen Werte abgleichen.
%Vor%Tags und Links javascript regex