2012-01-24 85 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}]+要做什么?