小编mzn*_*iko的帖子

我可以使用python're'来解析复杂的人名吗?

因此,我的一个主要难点是名称理解和拼凑家喻户晓的名字和头衔.我有一个80%的解决方案,我今天早上拼凑了一个非常庞大的正则表达式,我可能不应该感到自豪(但无论如何以一种恶心的方式),它正确匹配以下示例:

John Jeffries
John Jeffries, M.D.
John Jeffries, MD
John Jeffries and Jim Smith
John and Jim Jeffries
John Jeffries & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, CPA & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, C.P.A & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, C.P.A., MD & Jennifer Wilkes-Smith, DDS, MD
John Jeffries M.D. and Jennifer Holmes CPA
John Jeffries M.D. & Jennifer Holmes CPA
Run Code Online (Sandbox Code Playgroud)

正则表达式匹配器看起来像这样:

(?P<first_name>\S*\s*)?(?!and\s|&\s)(?P<last_name>[\w-]*\s*)(?P<titles1>,?\s*(?!and\s|&\s)[\w\.]*,*\s*(?!and\s|&\s)[\w\.]*)?(?P<connector>\sand\s|\s*&*\s*)?(?!and\s|&\s)(?P<first_name2>\S*\s*)(?P<last_name2>[\w-]*\s*)?(?P<titles2>,?\s*[\w\.]*,*\s*[\w\.]*)?
Run Code Online (Sandbox Code Playgroud)

(wtf对吧?)

为方便起见:http://www.pyregex.com/

所以,举个例子:

'John Jeffries, C.P.A., MD & Jennifer Wilkes-Smith, DDS, …
Run Code Online (Sandbox Code Playgroud)

python regex parsing string-parsing

8
推荐指数
1
解决办法
1060
查看次数

标签 统计

parsing ×1

python ×1

regex ×1

string-parsing ×1