正则表达式允许非ascii和外国字母?

Xer*_*xes 4 .net c# regex

是否可以创建一个正则表达式以允许非ascii字母和拉丁字母,例如中文或希腊符号(例如,允许A汉语AbN汉语)?

我目前有以下^[\w\d][\w\d_\-\.\s]*$只允许拉丁字母.

Tim*_*ker 6

在.NET中,

^[\p{L}\d_][\p{L}\d_.\s-]*$
Run Code Online (Sandbox Code Playgroud)

相当于你的正则表达式,另外允许其他Unicode字母.

说明:

\p{L} 是Unicode属性"Letter"的简写.

警告:我认为您不希望将下划线作为初始字符(仅在第二个字符类中存在)​​.因为\w包括下划线,你的正则表达式确实允许它.您可能希望将其从我的解决方案中的第一个字符类中删除(当然,它包括在内\p{L}).

在ECMAScript中,事情并不那么容易.您必须定义自己的Unicode字符范围.幸运的是,一位StackOverflow用户已经出现并设计了一个JavaScript正则表达式转换器:

/sf/answers/625348251/