2016-05-11 27 views
1

我有一个日志中的短语列表,我想验证使用以下正则表达式的名称。 phrase是一个有效的东西,但我仍然失败了。谁能告诉我这有什么问题?Python的正则表达式字,IP和端口组合匹配

非常感谢!

phrase = "ServerName.192.168.12.12.52915" 
regex = re.compile("\bServerName\.\^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$") 

res = regex.match(phrase) 
if test: 
    print "pass" 
else: 
    print "fail" 
+0

你输入没有脱字符,你的模式有'\ ^'。看看[这里](https://regex101.com/r/kQ7lW1/2)。在模式开始时甚至不需要任何'\ b'。 –

+0

谢谢。错过是一件容易的事情。 –

回答

1

。在你输入任何^,但你在正则表达式定义它。去掉它。 此外,由于您正在使用re.match将搜索定位在字符串的开头,因此您不需要最初的\b。并使用原始字符串文字来确保安全。

r"ServerName\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$" 

查看regex demo

+1

谢谢。正则表达式演示在开发模式时非常有用。 –