0

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

Lastname, firstname (department). 

但也可能是

 lastname-hyphenedname, firstname (some department). 

或任何类似的东西。我很难找到一个围绕括号和带有连字符的各种名称格式的表达式。有人碰巧知道这个的快速表达吗?

4

2 回答 2

3

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

名称可能包含一个或多个连字符部分或由空格或'分隔的部分,然后是逗号,可能是一些空格,然后是名字(可能带有连字符或空格或'),可能是一些空格,然后是(名称中带有空格括号)。聚合酶链反应。

于 2013-05-29T21:11:22.100 回答
0

使用 pcre 正则表达式,您可以这样做:

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

但是你可以更严格。

于 2013-05-29T22:05:15.170 回答