jd = "looking for Hadoop Developer Good knowledge of SAP Workflow and SAP HANA"
tech=['hadoop developer','sap workflow','sap hana']
string_split = jd.split()
matched = set(jd) & set(tech)
output:
matched
Out[9]: set()
如何打印匹配的两个单词,如:
hadoop developer,sap hana,sap workflow
也可以在此处使用
re.findall
:|
字符是正则表达式语法中的OR运算符。我们用它来连接tech
中的术语。然后findall
将返回字符串中模式的所有匹配项。你知道吗这在默认情况下是区分大小写的,但是如果不想使输入字符串小写,可以添加
IGNORECASE
标志。你知道吗最好的方法取决于你的数据。如果你有一个tech列表,其中项目很少,那么@pault解决方案将适合你的需要(但是我建议在模式中添加单词边界以避免误报),但是如果你有很多项目,你可以使用集合。你知道吗
你必须建立一个所有两个单词序列的集合,然后从技术列表中找到它和集合之间的交集。你知道吗
为了在jd中找到两个单词的所有序列,我在lookahead断言中使用了一个capture组。由于lookahead不使用字符,因此该模式能够找到两个单词的所有重叠序列:查找,用于hadoop,hadoop开发人员。。。开头的
\b
和第二个\w
的贪婪量词确保匹配只包含整个单词而不是部分单词。你知道吗demo
简单的列表理解就行了。关键是强制
jd
降低,否则它将无法正确匹配。你知道吗相关问题 更多 >
编程相关推荐