Ich habe in diesem Regex-Muster die folgende Konsolenwarnung festgestellt:
^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9]+\.[a-zA- Z0-9]+$
Musterattributwert
^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+$< ;/code> ist mit dem RegExp-Flag
u
gültig, aber nicht mit dem Flagv
: Ungültiger regulärer Ausdruck:/^[a -zA-Z0-9+_.-]+@[a-zA-Z0-9]+
.[a-zA-Z0-9]+$/v: code> Die Zeichenklasse enthält ungültige Zeichen.
Ich weiß nicht, wie ich ein gültiges Regex-Muster erstellen kann, um diese Warnung zu beheben. Könnte jemand bitte den Fehler erklären und wie man ihn beheben kann?
Ich versuche, mir die Dokumentation anzusehen, kann aber nicht herausfinden, wie ich sie mit dem Flag v
zum Laufen bringen kann.
问题在于新引入的
v
标志对转义规则施加了更多限制。由于它允许字符类的减法和交集,因此字符类末尾的字面量-
不能保持未转义。因此,如果使用
u
标志,就没有这样的限制,而使用v
标志,则有这样的限制。参见。