我必须匹配
Salutation(optional) FirstName LastName
我的正则表达式是:
^(([mMrRsSdDlLtTcCoO]{2,4})\.?\s+)?([a-zA-Z,.'-]{2,}\s+)([a-zA-Z,.'-]{2,})$
我的正则表达式的问题是它可以正常使用
MRS。 Pamela Anderson 或 Pamela Anderson
以及 Miss Pamela (错误的情况)。
答案 0 :(得分:3)
您的正则表达式将Miss
与FirstName匹配,Pamela
作为姓氏
你的正则表达式应该是
^(?!(Mr|Miss|..)[.]?\s+[a-zA-Z,.'-]+$)[a-zA-Z,.'-]+[.]?(\s+[a-zA-Z,.'-]){1,2}$
-------------------------------------
|
|->don't match further if it has Salutation and firstname or lastname
作为附注,不要使用[mMrRsSdDlLtTcCoO]{2,4}
可以有许多有效名称的排列,例如coco(我的朋友的名字),Rod
使用|
(Mr|Mrs|Miss|Dr)
明确指定
答案 1 :(得分:0)
试试这个:
(?:^[mMrRsSdDlLtTcCoO]{2,4}\.?\s+?)?([\w,.'-]{2,})\s+([\w,.'-]{2,})