识别第一个字符或整个单词的正则表达式函数

问题描述 投票:0回答:1

我正在尝试开发一个在 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”)。

使用正则表达式可以吗?我一直在努力开发一种可以实现这一目标的模式。

python regex nlp classification tagging
1个回答
0
投票

如果您只是查找子字符串,则不需要正则表达式,只需使用

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
© www.soinside.com 2019 - 2024. All rights reserved.