我正在尝试开发一个在 for 循环中使用的正则表达式模式。我有两个列表 - 一个是文档中的一组经过清理的关键字,另一个是我想要使用经过清理的文本进行匹配的一组标签。这是一个示例:
text_list = ['item1', '3000', '3100', 'item2', '4543', '4643']
tags_list = ['item1 3000 series', 'item 2 4000 series']
由于文档的编写方式,标签并不总是相连的。 “item1”、“3000”和“3100”都相互关联,实际上翻译为“item1 3000”和“item1 3100”,但作者并没有这样写。我希望能够拥有“3000”或“3100”等项目并将其与“item1 3000 系列”相匹配。
我假设要做到这一点,我需要一个正则表达式来匹配整个单词(“3000”到“item 3000系列”中的“3000”)或单词的第一个字符(“3100”到“3”中的“3”) “项目 3000 系列中的“3000”)。
使用正则表达式可以吗?我一直在努力开发一种可以实现这一目标的模式。
如果您只是查找子字符串,则不需要正则表达式,只需使用
in
关键字,如下所示
text_list = ['item1', '3000', '3100', 'item2', '4543', '4643']
tags_list = ['item1 3000 series', 'item 2 4000 series']
for text in text_list:
for tag in tags_list:
if text in tag:
print("Match for", text, "is", tag)
提供输出
Match for item1 is item1 3000 series
Match for 3000 is item1 3000 series