Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SyntaxError: Ungültiger Eigenschaftenname im regulären Ausdruck

Der JavaScript-Fehler "ungültiger Eigenschaftenname im regulären Ausdruck" oder "ungültiger Klassenname im regulären Ausdruck" tritt auf, wenn die \p und \P Unicode-Zeichenklassen-Escapes nicht von einem gültigen Unicode-Eigenschaftsnamen und/oder -wert gefolgt werden.

Meldung

SyntaxError: Invalid regular expression: /\p{x}/u: Invalid property name (V8-based)
SyntaxError: Invalid regular expression: /[\p{x}]/u: Invalid property name in character class (V8-based)
SyntaxError: invalid property name in regular expression (Firefox)
SyntaxError: invalid class property name in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid property expression (Safari)

Fehlertyp

SyntaxError

Was ist schiefgelaufen?

Im Unicode-bewussten Modus werden die \p und \P Escape-Sequenzen verwendet, um Zeichen oder Zeichensequenzen basierend auf ihren Unicode-Eigenschaften zu matchen. Die \p Escape-Sequenz matched Zeichen mit der angegebenen Unicode-Eigenschaft, während die \P Escape-Sequenz Zeichen ohne die angegebene Unicode-Eigenschaft matched. Die Syntax ist:

regex
\p{loneProperty}
\P{loneProperty}

\p{property=value}
\P{property=value}

Wenn diese nicht von {, dann einem erkennbaren Eigenschaftsnamen/-wert, dann } gefolgt wird, wird dieser Syntaxfehler ausgelöst. Weitere Informationen darüber, welche alleinstehenden Eigenschaften und Eigenschaftsnamen erlaubt sind, finden Sie im Referenzdokument zu Unicode-Zeichenklassen-Escapes.

Beispiele

Ungültige Fälle

js
/\p{x}/u; // "x" is not a valid Unicode property name
/\p{Script=x}/u; // "x" is not a valid value for Script
/\property/u; // "\p" is not followed by the right syntax
/\p{RGI_Emoji_Flag_Sequence}/u;
// "RGI_Emoji_Flag_Sequence" is a property of strings, so the "v" flag must be used
/\P{RGI_Emoji_Flag_Sequence}/v; // \P cannot match properties of strings

Gültige Fälle

js
/\p{Script=Latin}/u; // "Script=Latin" is a valid Unicode property
/\p{Letter}/u; // "Letter" is valid value for General_Category
/\p{RGI_Emoji_Flag_Sequence}/v; // Property of strings can only be used in "v" mode

Siehe auch