在列表中查找单词/元素并返回匹配的值

2024-05-16 01:10:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力解决以下问题。我有两个列表:wordListmyLIST

目标是检查wordList中的任何元素是否也在myList中。然后应该返回匹配的值

脚本如下所示:

import re

myList = ['volkswagen-ag','audi-ag','lamborghini-ag']  
wordList = ['volkswagen','audi','lamborghini'] 


def findWholeWord(w):
    return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search

    for x in myList:
        b = findWholeWord(y)(x)
        print(b)

它产生以下结果:

<re.Match object; span=(0, 10), match='volkswagen'>
None
None
None
<re.Match object; span=(0, 4), match='audi'>
None
None
None
<re.Match object; span=(0, 11), match='lamborghini'>

如何获取myLIST中匹配字段的值(例如:"Volkswagen"应该返回"volkswagen-ag")?我刚刚从另一篇博客文章中找到了一个解决方案

我想用匹配的值创建一个新列表


Tags: renone列表objectmatchspanwordlistag
1条回答
网友
1楼 · 发布于 2024-05-16 01:10:53

您将包括单词边界,但不包括搜索单词后的字符。您应该将正则表达式更新为r'\b({0}[^\s]+)\b'。这将在搜索词后提取任何非空格字符

相关问题 更多 >