我有一个应用程序,它读取有关车辆标题的XML信息并将其解析到我的应用程序中.在我的数据库中,我总是根据个人姓名或公司名称来存储我的姓名(因为这可能发生在我的系统中).麻烦的是XML源具有名称数据,但它没有指定它是个人还是公司.我需要知道,所以我可以将它妥善存储在我的数据库中.是否存在名称或正则表达式或库的数据库,可以检查字符串是否与个人姓名匹配?谢谢!
不,没有办法知道.你在和Frank Zappa的孩子Moon Unit打交道吗,或者你正在处理Moon Unit,你真正的月球岩石纪念品的头号来源?名称可以是任何名称,公司名称可以是任何名称(包括其所有者的名字!).唯一可以确定数据是否提供给您的方法.
在我曾经工作过的一家大型电信公司中,我们遇到了这个问题。我们在200万个加号上测试了以下正则表达式
([A-Z][a-z][a-z]*) *([A-Z][a-z]*)\.? *([A-Z][a-z][a-z][a-z]*)
我们的准确率达到了99.8%。数据还算干净。这是用于C语言中的正则表达式引擎的-因此语法可能与perl略有不同。我不知道您是否需要括号。