[英]Finding word/element in list and return matched value
我正在努力解决以下问题。 我有两个列表: wordList
和myLIST
目标是检查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.