这些规则的正则表达式模式是什么:
有效:约翰 无效:JohN
有效:麦克阿瑟 无效:McArThuR
有效:Mac O'Brian 无效:Mac'O''Brian
答案 0 :(得分:8)
这是一个全球正则表达式,适用于世界各地的所有文化。
^.+$
欢迎你。
您要做的是在非常开放的领域进行复杂的验证。请考虑改为提供given name
和family name
输入字段。
答案 1 :(得分:1)
如果您真的打算进行验证(例如在网络表单或帐户注册中),我会关注Damien_The_Unbeliever的评论。让人们拼出他们喜欢的名字可能会更好;事后,有更好的方法来识别巨魔。
但是,作为一项智力练习,这里有一个正则表达式,根据你给出的例子进行验证。这是PCRE语法;您可能需要针对特定的正则表达式语法或风格进行调整或修改:
[A-Z][a-z]+(?:[A-Z]?'?|'?[A-Z])[a-z]+
请注意,您必须单独将其应用于每个名称或名称部分,但由于您的验证模式主要由西欧姓氏惯例驱动,因此仅适用于姓氏可能是有意义的。
答案 2 :(得分:1)
[A-Z][a-z ]* (?: [A-Z]?[a-z ]*\'? | \'?[a-z ]*[A-Z]? ) [a-z ]+
丢弃方括号外的空格,我只是把它们放在一边清楚。