带括号的名称的正则表达式

时间:2013-05-29 21:07:32

标签: regex string forms validation

所以第一次尝试提出正则表达式验证,我有点困惑。用户填写表单的“名称”部分,如下所示:

Lastname, firstname (department). 

但它也可能是

 lastname-hyphenedname, firstname (some department). 

或沿着这些方向的任何事情。我很难找到一个用括号括起来的表达式和带连字符的各种名称格式。有人碰巧知道这个的快速表达吗?

2 个答案:

答案 0 :(得分:3)

^([A-Za-z]+([-']?|\s+))*[A-Za-z]+,\s*([A-Za-z]+([-']?|\s+))*[A-Za-z]+\s*(\([A-Za-z\s]+\))?$

可能包含一个或多个连字符部分或部分的名称,用空格或',然后是逗号,可能是一些空格,然后是名字(可能带有连字符或空格或'),也许是一些空格,然后(名称)括号中的空格)。 PCRE。

答案 1 :(得分:0)

使用pcre regex,你可以这样做:

^(?i)([a-z]+(?:[ '-][a-z]+)*), (?1) \([^)]+\)\.$

但你可以限制更多。