假设我有类似下面的字符串项的列表:如何获得与给定正则表达式模式完全匹配的Python列表中的项目索引?
lst = ['apple', 'mango', 'MIME']
p = r"MIME" # regex pattern
现在,我想有这完全模式p
匹配项的索引。显然,答案是2
。我该怎么做?
假设我有类似下面的字符串项的列表:如何获得与给定正则表达式模式完全匹配的Python列表中的项目索引?
lst = ['apple', 'mango', 'MIME']
p = r"MIME" # regex pattern
现在,我想有这完全模式p
匹配项的索引。显然,答案是2
。我该怎么做?
这里是你的代码re模块是正则表达式
import re
lst = ['apple', 'mango', 'MIME']
p = r"MIME" # regex pattern
for i in range(0,len(lst)):
if re.compile(p).match(lst[i]):
print i
import re
r = re.compile(p)
try:
print(next(i for i in range(0, len(lst)) if r.match(lst[i])))
except StopIteration:
print('Not found')
虽然这段代码可能有助于解决问题,但提供 关于_why_和/或_how_的附加上下文,它将回答 这个问题将显着改善其长期价值。 请[编辑]您的答案以添加解释,包括限制和假设适用的内容。 –
'R “MIME”'是不是正则表达式BTW,这只是一个字符串。当你将它提供给're'某个地方时,该字符串可以用作正则表达式... – deceze
除非你添加了一些实际的正则表达式语法,否则你的例子只需要'lst.index(p)'。 – deceze
'r'MIME'是一个原始字符串,使用'lst.index(p)'很好。 –