Heim >Web-Frontend >js-Tutorial >Wie füge ich einen Bindestrich ordnungsgemäß in eine Regex-Zeichenklasse ein?

Wie füge ich einen Bindestrich ordnungsgemäß in eine Regex-Zeichenklasse ein?

Linda Hamilton
Linda HamiltonOriginal
2024-11-28 10:22:10303Durchsuche

How to Properly Include a Hyphen in a Regex Character Class?

So fügen Sie mit Regex einen Bindestrich in eine Zeichenklammer ein

Bei der Verwendung einer Zeichenklammer in einem regulären Ausdruck können Schwierigkeiten auftreten einschließlich Bindestriche. Die folgende Frage veranschaulicht dieses Problem:

In a JavaScript validator, when using the following regex:

$.validator.addMethod('AZ09_', function (value) {
    return /^[a-zA-Z0-9.-_]+$/.test(value);
}, 'Only letters, numbers, and _-. are allowed');

Trying to match a value like "test-123" still triggers an error as if the hyphen is invalid, despite attempting to escape it with \-.

Die Antwort auf dieses Problem besteht darin, den Bindestrich am Anfang oder Ende der Zeichenklammer zu platzieren. Diese Änderung stellt sicher, dass es erfolgreich in die zulässigen Zeichen eingefügt wird:

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

Durch diese Anpassung werden Bindestriche nun als gültige Zeichen innerhalb der Regex erkannt.

Das obige ist der detaillierte Inhalt vonWie füge ich einen Bindestrich ordnungsgemäß in eine Regex-Zeichenklasse ein?. 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