首页 > 解决方案 > 当关键字通过 Excel 传递时,Python::在正则表达式中处理复数

问题描述

我在 SO 和其他论坛上做了很好的分析,我已经看到了关于如何处理复数的解决方案,但这里是处理从 excel 传递单词的情况。

我有一长串关键字,我将该列表传递给我的正则表达式,如下所示:

df = pd.read_excel('\\Keywords.xlsx', sheet_name=0)
keyword_list = df['Keyword_List'].tolist()
keywords_regex =(r'(({0})\b)'.format('|'.join(keyword_list)))

我必须坚持\b到底,因为我有像“ Meet ”这样的词,不希望像“ Meeting ”这样的词被匹配。

我有一个巨大的文本段落,我想检查我的关键字列表中出现了多少单词,包括复数。因此,如果该段落包含“男孩”和“男孩”之类的单词,我都想要。目前以下代码仅适用于单数:

matches = re.findall(keywords_regex, text, re.IGNORECASE) ## text is the long paragraph

我总是可以在 excel 中写复数形式的单词来获得匹配,但我正在寻找我们只能在正则表达式或 python 级别处理的任何内容

标签: pythonregexpython-3.x

解决方案


推荐阅读