Heim >Web-Frontend >js-Tutorial >Wie kann man einen Bindestrich in Klammern für reguläre Ausdrücke richtig maskieren oder positionieren?

Wie kann man einen Bindestrich in Klammern für reguläre Ausdrücke richtig maskieren oder positionieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 13:38:14375Durchsuche

How to Properly Escape or Position a Hyphen in Regular Expression Character Brackets?

Bindestriche in Klammern für reguläre Ausdrücke

Beim Definieren einer Klammer für reguläre Ausdrücke kann es schwierig sein, das Bindestrichzeichen (-) einzuschließen. . Dies liegt daran, dass der Bindestrich in regulären Ausdrücken als Bereichsoperator verwendet wird und einen Bereich von zu vergleichenden Zeichen angibt. Um einen wörtlichen Bindestrich in eine Zeichenklammer einzufügen, muss er mit einem Backslash () maskiert werden.

In Ihrem Fall versucht der reguläre Ausdruck:

/^[a-zA-Z0-9.-_]+$/

nur Zeichenfolgen abzugleichen enthalten Buchstaben, Zahlen, Punkte (.) und den Bindestrich (-). Aufgrund der Platzierung des Bindestrichs in der Zeichenklammer wird er jedoch als Bereichsoperator behandelt, was zur Übereinstimmung eines Zeichenbereichs zwischen „a“ und „-“ führt.

Um dies zu korrigieren , können Sie den Bindestrich mit einem Backslash maskieren, wie im folgenden modifizierten regulären Ausdruck zu sehen ist:

/^[a-zA-Z0-9.\-_-]+$/

Dadurch wird sichergestellt, dass der Bindestrich als Literalzeichen und nicht als Bereich behandelt wird Betreiber. Alternativ können Sie den Bindestrich am Anfang oder Ende der Zeichenklammer platzieren, wie unten gezeigt:

/^[.-a-zA-Z0-9_]+$/

Durch Ändern der Platzierung des Bindestrichs können Sie ihn erfolgreich in die Zeichenklammer einfügen und sicherstellen, dass dies der Fall ist es wird buchstäblich in Ihrem Validierungsausdruck abgeglichen.

Das obige ist der detaillierte Inhalt vonWie kann man einen Bindestrich in Klammern für reguläre Ausdrücke richtig maskieren oder positionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn