您需要一个正则表达式,其中名称中的第一个字母必须大写并且其他大写字母必须被禁止,除非名称用连字符书写,然后允许第一个大写字母并且紧跟在连字符之后, 其余不允许。例如
德米特里 - 好的
德米特里 - 错误
德米特里 - 约瑟夫 - 好的
德米特里约瑟夫 - 错误
德米特里约瑟夫 - 错误
我有一个普通的,一开始只允许一个大的,但是通过连字符这个名字已经被错误地感知了。连字符之后是另一个大连字符。
我的表情
@"^[А-ЯЁ][а-яё\-]+\s([А-ЯЁ][а-яё\-]+)(\.|\s)\s*([А-ЯЁ][а-яё\-\.]+)$"
它使用 F&O 模板
利用
请参阅正则表达式演示。
细节:
^- 行首\p{Lu}- 大写字母\p{Ll}*- 0 个或多个小写字母(?:-\p{Lu}\p{Ll}*)?- 以下模式的可选序列:-- 连字符\p{Lu}- 大写字母\p{Ll}*- 0 个或多个小写字母$- 行结束。如果您只需要支持俄文字母,请替换