2016-05-11 33 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

謝謝。正則表達式演示在開發模式時非常有用。 –