2016-06-14 60 views
-5
text1 = 'three digits NUMBER_001' 

下面的代碼正確認定三位數字符串中的字符「NUMBER_」後,以下內容:['NUMBER_123']如何找到字符串位數

result = re.findall('NUMBER_\d\d\d', text1) 
print result 

但它返回如果該號碼由號碼不全超過三個數字:

text2 = 'four digits number is NUMBER_0001' 
result = re.findall('NUMBER_\d\d\d', text2) 

有沒有辦法找到所有連續的數字放在字符「NUMBER_」之後?

+6

'NUMBER_ \ d +'?我會推薦一個介紹性的正則表達式教程。 – jonrsharpe

+0

那又如何?爲什麼要把你的最後期限和/或糟糕的時間管理問題? – jonrsharpe

回答

1

就在您的正則表達式使用()

result = re.findall('NUMBER_(\d\d\d)', text1) 

相同,寫成,

result = re.findall('NUMBER_(\d{3})', text1) 

另外,任何數量的數字:

result = re.findall('NUMBER_([\d]+)', text1) 

OR

result = re.findall('NUMBER_([0-9]+)', text1) 
+0

謝謝!我很感激快速幫助! – alphanumeric

0

通過只需更換您的正則表達式:

result = re.findall('NUMBER_([0-9]+)', text1) 
+0

或者你可以使用'(\ d +)'而不是'([0-9] +)'。 –

相關問題