2012-06-07 81 views
3

我有一個簡單的正則表達式問題,這讓我瘋狂。 我有一個變量x = "field1: XXXX field2: YYYY"。 我想檢索YYYY(注意這是一個示例值)。 我的方法如下:簡單的python正則表達式,冒號後匹配

values = re.match('field2:\s(.*)', x) 
print values.groups() 

它不符合任何內容。我可以得到一些幫助嗎?謝謝!

回答

8

你的正則表達式是好

field2:\s(.*) 

字符串的開始試試這個代碼

match = re.search(r"field2:\s(.*)", subject) 
if match: 
    result = match.group(1) 
else: 
    result = "" 
+0

愚蠢的錯誤...謝謝! – Ken

6

re.match()只匹配。您想用re.search()代替。

此外,你應該使用一個逐字字符串:

>>> values = re.search(r'field2:\s(.*)', x) 
>>> print values.groups() 
('YYYY',)