所以第一次尝试提出正则表达式验证,我有点困惑。用户填充我们表单的“名称”部分,如下所示:
Lastname, firstname (department).
但也可能是
lastname-hyphenedname, firstname (some department).
或任何类似的东西。我很难找到一个围绕括号和带有连字符的各种名称格式的表达式。有人碰巧知道这个的快速表达吗?
所以第一次尝试提出正则表达式验证,我有点困惑。用户填充我们表单的“名称”部分,如下所示:
Lastname, firstname (department).
但也可能是
lastname-hyphenedname, firstname (some department).
或任何类似的东西。我很难找到一个围绕括号和带有连字符的各种名称格式的表达式。有人碰巧知道这个的快速表达吗?
^([A-Za-z]+([-']?|\s+))*[A-Za-z]+,\s*([A-Za-z]+([-']?|\s+))*[A-Za-z]+\s*(\([A-Za-z\s]+\))?$
名称可能包含一个或多个连字符部分或由空格或'分隔的部分,然后是逗号,可能是一些空格,然后是名字(可能带有连字符或空格或'),可能是一些空格,然后是(名称中带有空格括号)。聚合酶链反应。
使用 pcre 正则表达式,您可以这样做:
^(?i)([a-z]+(?:[ '-][a-z]+)*), (?1) \([^)]+\)\.$
但是你可以更严格。