2010-03-03 30 views
1

这可能是一个困难的(如果不是不可能的话),但任何人都可以想到一个正则表达式,可以找到一个人的名字,比如简历吗?我知道这不会100%准确,但我不能想出什么。正则表达式解析出一个人的名字?

让我们假设名称只在文档中出现一次。

回答

2

忘了它 - 认真。

或者希望从C先生简历

3

没有得到大量的应用程序,你不能使用这个正则表达式。您拥有的唯一机会是如果文档始终采用相同的格式,并且您可以根据其周围的上下文找到名称。但这可能不适合你。

如果您要求您的申请人在线提交简历,您可以提供一个单独的字段供他们输入您的姓名和您需要的任何其他信息,而不是尝试自动解析简历。

1

除非你想建立一个包含所有可能名字的表达式,或者把它们放在一起,那么你所指的表达式不是“Regular”,而是大写R.一个好的猜测可能是寻找最大的 - 文字中的字母。如果他们遵循看起来像姓名,姓,名,初始名称等图案,你可以把它叫做一个很好的猜测......

2

以我的经验,有写的很类似(但很长一段时间的东西以前),大约95%的简历都将该人的姓名作为第一行。你可能会有一个非常宽松的正则表达式检查alpha,连字符,句点,并假定这是名字。

很明显,没有办法像你说的那样100%准确地做到这一点,但这会很接近。

+0

你可以使用格式化线索:无论是最大的元素可能是人的名字。我相信Google会在一定程度上使用文档:html/head/title和h1字段中的内容会更加重要。 – 2010-03-03 23:44:53

1

这是一个非常棘手的问题来解决。正则表达式必须匹配两个可能是某人名字的单词。问题在于,有些人,例如西班牙人,可能有两个以上的单词。另外,你如何定义两个词来匹配一个名字?你会使用一个常用姓氏和名字的数据库吗?除非有一个不寻常的名字,否则这可能会起作用。

我想起一个在大学COBOL老师的故事,告诉我关于亚裔的个人谁的名字会打破所有的规则在银行的内部系统中定义的程序员。他的名字是“O”。只是字母O.

确定正则表达式唯一可以远程可靠的方法是,如果你有东西来引起你的搜索;也许如果简历中的一行文字以“Name:”开头,那么你就知道从哪里开始寻找。博士:人们的名字和个人简历对于一个正则表达式来说太重了,以至于无法分辨。

+1

我们有一个更糟糕的,一些印尼妇女直到他们结婚时才会有姓。所以学生招生系统+没有姓氏 - 合唱团 – 2010-03-03 23:15:44

+0

哦,那个人会很残酷地尝试修复。 – Micah 2010-03-03 23:46:30

0

你可以像亚马逊那样做书本概述:SIP s。这需要人类进行事后双重检查,但您可能会在该处找到该人的姓名。