繁体   English   中英

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

[英]Finding word/element in list and return matched value

我正在努力解决以下问题。 我有两个列表: 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" ?我刚刚从另一个博客条目中获得了解决方案。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM