在Python中验证名称

2024-04-23 12:01:49 发布

您现在位置:Python中文网/ 问答频道 /正文

对于国际化项目,我必须使用Python验证名称(first,last)的全局语法。但是,缺少unicode类的支持确实让事情变得更糟。在

有没有正则表达式/库可以做到这一点?在

示例:

Björn、Anne Charlotte、توماž、毛或מיק必须接受。 -比约恩,安妮——夏洛特,汤姆或类似的作品应该被拒绝。在

有什么简单的方法吗?在

谢谢。在


Tags: 项目名称示例unicode语法rn全局事情
1条回答
网友
1楼 · 发布于 2024-04-23 12:01:49

如果指定re.UNICODE标志,Python确实支持正则表达式中的unicode。你可以用这样的方法:

r'^[^\W_]+(-[^\W_]+)?$'

测试代码:

^{pr2}$

结果:

Björn                True
Anne-Charlotte       True
توماس                True
毛                    True
מיק                  True
-Björn               False
Anne Charlotte      False
Tom_                 False

如果您还想禁止在名称中使用数字,那么将[^\W_]更改为[^\W\d_]。在

相关问题 更多 >