Gre*_*zer 47 regex unicode character-properties
如何将法语和俄语西里尔字母字符与正则表达式匹配?我只想做字母字符,没有数字或特殊字符.现在我有
[A-ZA-Z]
Ped*_*ito 37
如果您的正则表达式支持Unicode块,则可以将俄语(西里尔语)字符与以下内容匹配:
[\p{IsCyrillic}] or [\p{Cyrillic}]
Run Code Online (Sandbox Code Playgroud)
否则尝试:
[U+0400–U+04FF]
Run Code Online (Sandbox Code Playgroud)
说明:
[\x{0400}-\x{04FF}]
Run Code Online (Sandbox Code Playgroud)
注意:
Unicode字符列表和数字HTML实体regex.
CIT*_*TBL 11
要仅匹配俄语西里尔字符,请使用:
[\u0401\u0451\u0410-\u044f]
Run Code Online (Sandbox Code Playgroud)
这相当于:
[???-?]
Run Code Online (Sandbox Code Playgroud)
哪里?是西里尔文,不是拉丁文。(尽管看起来一样,但它们有不同的代码)
\p{IsCyrillic}, \p{Cyrillic},[\u0400-\u04FF]其他人建议将匹配西里尔字母的所有变体,而不仅仅是俄语
如果您使用现代PHP版本 - 只需:
preg_match("/^[\p{L}]+$/u");
Run Code Online (Sandbox Code Playgroud)
不要忘记u标志支持unicode!
小智 7
正则表达式将西里尔字母与普通(英文)字母匹配:
^[A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$
Run Code Online (Sandbox Code Playgroud)
它匹配特殊字符,西里尔字母,英文字母。