Heim >Web-Frontend >js-Tutorial >Wie kann man einen Bindestrich in Klammern für reguläre Ausdrücke richtig maskieren oder positionieren?
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!