2016-08-08 32 views
-2

假設我有類似下面的字符串項的列表:如何獲得與給定正則表達式模式完全匹配的Python列表中的項目索引?

lst = ['apple', 'mango', 'MIME'] 
p = r"MIME" # regex pattern 

現在,我想有這完全模式p匹配項的索引。顯然,答案是2。我該怎麼做?

+1

'R 「MIME」'是不是正則表達式BTW,這只是一個字符串。當你將它提供給're'某個地方時,該字符串可以用作正則表達式... – deceze

+2

除非你添加了一些實際的正則表達式語法,否則你的例子只需要'lst.index(p)'。 – deceze

+1

'r'MIME'是一個原始字符串,使用'lst.index(p)'很好。 –

回答

0

這裏是你的代碼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 
0
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') 
+0

雖然這段代碼可能有助於解決問題,但提供 關於_why_和/或_how_的附加上下文,它將回答 這個問題將顯着改善其長期價值。 請[編輯]您的答案以添加解釋,包括限制和假設適用的內容。 –

相關問題