Regex pour permettre les lettres non-ASCII et étrangères?

Est-il possible de créer une expression régulière pour autoriser les lettres non ascii avec les alphabets latins, par exemple les symboles chinois ou grecs (par exemple, A 汉语 AbN 漢語 autorisé)?

J’ai actuellement le ^[\w\d][\w\d_\-\.\s]*$ suivant ^[\w\d][\w\d_\-\.\s]*$ qui n’autorise que les alphabets latins.

En .NET,

 ^[\p{L}\d_][\p{L}\d_.\s-]*$ 

est équivalent à votre regex, autorisant en outre d’autres lettres Unicode.

Explication:

\p{L} est un raccourci pour la propriété Unicode “Lettre”.

Mise en garde: je pense que vous vouliez ne pas autoriser le caractère de soulignement comme caractère initial (comme en témoigne sa présence uniquement dans la deuxième classe de caractères). Puisque \w inclut le trait de soulignement, votre expression rationnelle l’a autorisé, cependant. Vous voudrez peut-être le supprimer de la première classe de caractères de ma solution (il n’est bien sûr pas inclus dans \p{L} ).

Dans ECMAScript, les choses ne sont pas si faciles. Vous devrez définir vos propres plages de caractères Unicode. Heureusement, un autre utilisateur de StackOverflow s’est déjà montré à la hauteur et a conçu un convertisseur de regex JavaScript:

https://stackoverflow.com/a/8933546/20670