Match nur unicode-Zeichen
habe ich folgende regex, die nur Alphabete :
/[a-zA-Z]+/
a = "abcDF"
if (a.match(/[a-zA-Z]+/) == a){
//Match
}else{
//No Match
}
Wie kann ich dies mit Hilfe von p{L} (universal - eine Sprache wie Deutsch, Englisch etc.. )
Was ich versucht habe :
a.match(/[p{l}]+/)
a.match(/[\p{l}]+/)
a.match(/p{l}/)
a.match(/\p{l}/)
aber alle zurückgegebenen null für den Buchstaben " a = "aB"
- aktualisierte Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beginnend mit ECMAScript 2018, JavaScript schließlich unterstützt Unicode-Eigenschaft entweicht nativ.
Für ältere Versionen sind, müssen Sie entweder definieren Sie die entsprechenden Unicode-Bereiche selbst. Oder Sie können verwenden, Steven Levithan ist
XRegExp
- Paket mit Unicode-add-ons und nutzen Ihre Unicode-Eigenschaft von Verknüpfungen:\w
entspricht nur ASCII-Buchstaben/Ziffern/Unterstrich in JavaScript. Es gibt keinen einfachen Weg, um XRegExp wenn Sie wollen, unterstützen Unicode.\p{IsCyrillic}
regex. Java funktioniert.is
Präfix, so dassisGreek
eine alternative zuGreek
, aber das kann zu Problemen führen (Isolation
?), so wurde beschlossen, dieses nicht zu unterstützen.Wenn Sie bereit sind, verwenden Sie Babel bauen Sie Ihre javascript-dann gibt es eine babel-plugin, das ich veröffentlicht habe, die Transformation von regulären Ausdrücken wie
/^\p{L}+$/
oder/\p{^White_Space}/
in einen regulären Ausdruck, die der Browser versteht.Dies ist die Projekt-Seite: https://github.com/danielberndt/babel-plugin-utf-8-regex