假設我有類似下面的字符串項的列表:如何獲得與給定正則表達式模式完全匹配的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)'很好。 –