2012-01-24 88 views
0

這是怎麼回事?我在0x00B66A68>re模塊幫助Python

越來越< _sre.SRE_Match對象
import re 

mess = open('mess.txt', 'r') 
text = mess.read() 

result = re.search('[a-z]+[A-Z{3}]+[a-z{1}]+[A-Z{3}]+[a-z]',text) 

print result 
+3

哪一行引發錯誤,錯誤究竟是什麼,以及輸入是什麼?請不要讓我們猜測。 –

+0

現在我得到這個<_sre.SRE_Match對象在0x00B66A68>。 – user1152873

+0

請提供示例輸入,以及運行腳本的完整輸出,即完整的回溯。 –

回答

5

search返回相應MatchObject實例。

您需要將此添加到您的代碼result.group(0)

例如:

>>> import re 
>>> m = re.search('(?<=abc)def', 'abcdef') 
>>> print m 
<_sre.SRE_Match object at 0x018ECF70> 
>>> m.group(0) 
'def' 

看看這裏Python regex tutorial with re module。一個可能的下一個問題

0

提前答案:

你的正則表達式'[a-z]+[A-Z{3}]+[a-z{1}]+[A-Z{3}]+[a-z]'可能不會做你認爲它是

讓我們來看看只是其中的一部分:

[A-Z{3}]一個字符匹配出的29可能性:('A', ..., 'Z', '{', '3', '}')

[A-Z]{3}完全匹配3個大寫字母。

你想要什麼?

下一步:您認爲[A-Z{3}]+要做什麼?