- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一些自由形式的姓名条目,其中一些格式为“姓氏,名字”,其他格式为“名字姓氏”(例如“Bob MacDonald”和“MacDonald.Bob” "都存在)。
据我所知,Lucene 索引不允许在句子开头使用通配符,所以我可以通过哪些方式找到这两者。这是针对 neo4j 和 py2neo 的,因此欢迎使用 lucene 模式匹配或 python 正则表达式匹配的解决方案。
最佳答案
我不熟悉 neo4j 或 lucene,但我想我会提供一个 Python 正则表达式解决方案,这是我不久前在这个问题上找到的:Logical operator AND with php regular expression
基本上,您可以调整他的答案以适应这个特定问题:您需要名字和姓氏,但您不知道顺序。它们可能在字符串中包含空格或逗号。
这是我想出的正则表达式:(?:\s?Hilary()|\s?Clinton(),?){2}
它测试名字前面有一个可选空格,或者姓氏前面有一个可选空格,或者后面有一个逗号。后面的空括号表示如果满足条件它将返回一个匹配项,{2} 表示它需要两个匹配项(名字和姓氏)。
在 python 中测试它:
import re
t1 = 'Hilary Clinton'
t2 = 'Clinton, Hilary'
re.search(r'(?:\s?Hilary()|\s?Clinton(),?){2}', t1)
re.search(r'(?:\s?Hilary()|\s?Clinton(),?){2}', t2)
两者都返回一个匹配项。希望这会有所帮助。
关于python - Lucene 或 Python : Select both "Hilary Clinton" and "Clinton, Hilary" name entries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290237/
假设我有一些自由形式的姓名条目,其中一些格式为“姓氏,名字”,其他格式为“名字姓氏”(例如“Bob MacDonald”和“MacDonald.Bob” "都存在)。 据我所知,Lucene 索引不允
function setName(obj){ obj.name = "Obama"; obj = {name:"Clinton"}; } var president = {name:"
我是一名优秀的程序员,十分优秀!