【发布时间】:2020-10-15 20:12:16
【问题描述】:
我有一组文本模式(关键字),我的目标是在 HTML 文本中找到相似且合适的词,并使用 python 3.7 将它们收集到一个列表中。例如,如果我给定的一组模式是:{"banana", "my-apple", "(orange)", "big grapes"} 我想在 HTML 文本中查找单词,例如:"banana", “我的苹果”、“我的苹果”、“(橙色)”、“大葡萄”、“大葡萄”、“香蕉”等等。最好的方法是什么?我考虑过使用正则表达式库,但无法完全按照我的意愿找到单词。
我当前的代码是:
import re
def find_patterns_in_text(keywords, html_text):
output_list = []
for keyword in keywords:
if re.findall(keyword, html_text):
output_list.append(keyword)
return output_list
我的代码运行不好是因为找不到以下情况:
- 如果 HTML 文本或关键字集中的单词旁边带有某种特殊字符,则无法识别。
- 如果其中一个关键字包含“-”而不是“”或以类似的方式包含“”而不是“-”并且在 HTML 文本中出现相同的单词但“”和“-”不合适,它不认识
【问题讨论】: