2014-12-02 93 views
1

我怎樣才能通過使用Python中重新得到字符串"Size:24 Resp_code:200"蟒蛇正則表達式,從一個字符串

數量24200提取數集合?我曾嘗試與\ d +但後來我只得到24 除了我自己也嘗試了這一點:

import re 

string2 = " Size:24 Resp_code:200" 

regx = "(\d+) Resp_code:(\d+)" 

print re.search(regx, string2).group(0) 
print re.search(regx, string2).group(1) 

這裏出去的說就是:

24 Resp_code:200 
24 

任何意見上如何解決這個問題?

在此先感謝

+0

順便說一句,如果你打算在很多行上使用正則表達式,編譯它是一個好主意。 – 2014-12-02 12:31:08

+0

順便說一句,如果你打算在很多行上使用正則表達式,編譯它是個好主意。 – 2014-12-02 12:31:21

回答

1

用途:

你的正則表達式匹配
print re.search(regx, string2).group(1) // 24 
print re.search(regx, string2).group(2) // 200 

group(0)打印整個字符串。其中group(1)是第一場比賽,而group(2)是第二場比賽。

4

組0包含整個匹配的字符串。提取組1,組2。

>>> string2 = " Size:24 Resp_code:200" 
>>> regx = r"(\d+) Resp_code:(\d+)" 
>>> match = re.search(regx, string2) 
>>> match.group(1), match.group(2) 
('24', '200') 
>>> match.groups() # to get all groups from 1 to however many groups 
('24', '200') 

或使用re.findall

>>> re.findall(r'\d+', string2) 
['24', '200'] 
0

檢查doc

如果有一個參數,其結果是一個字符串;如果有多個參數,則結果是每個參數有一個項目的元組。如果沒有參數,1組默認爲零(返回整場比賽)

你正在做正確的,但組不從0開始,但1,group(0)將打印整場比賽:

>>> re.search(regx, string2).group(1,2) 
('24', '200')