python正则表达式问题?

如下代码:
ip = '.*TestTesttest:\s(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\r|\n|\r\n.*'
content = '\r\nTestTesttest: 192.168.100.1\r\ngdfg'
print re.findall(ip, content, re.S)

结果:
['', '192.168.102.1', '']

请问:list里面2个''怎么来的?不太理解。

因为你的正则有点点问题
ip = '.*TestTesttest:\s(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[color=red]\r|\n|\r\n.*[/color]'

这部分你用的或链接的,那么你的正则就分三部分
.*TestTesttest:\s(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\r
\n
\r\n.*

如果是这样就没问题了:
ip = '.*TestTesttest:\s(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})(?:\r|\n|\r\n).*'