2013-05-11 148 views
0

我試圖用re.findall(pattern, string)從Git Log行中拉出Jira Key。我的例子輸入會是這樣的:Python findall正則表達式

58df2ac Merge remote-tracking branch 'origin/ABC-1234' into release-1.1.0 
df40f59 Merge branch 'ABC-2345' into release-1.1.1 

我想擺脫這種東西只是ABC-1234 & ABC-2345

我知道我想要使用的邏輯將以ABC-開頭,直到它找到一個非數字,如引號,空格或字母。

任何幫助計算正確的正則表達式將不勝感激。

感謝

回答

1

這工作:

import re 

st='''\ 
58df2ac Merge remote-tracking branch 'origin/ABC-1234' into release-1.1.0 
df40f59 Merge branch 'ABC-2345' into release-1.1.1''' 

for line in st.splitlines(): 
    print re.findall(r"'.*ABC-(.*)'",line) 

或者,如果你知道 'ABC-XXX' 只是個數字,這是更好:

print re.findall(r"'.*ABC-(\d+)",line) 

兩種情況下,打印:

['1234'] 
['2345']