下面是我在Python匹配IP沒有得到輸出`和`在if語句
import os
import sys
import re
str = "192.168.4.2"
match = re.search("(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})", str)
if ( match.group(1) <= "255" and match.group(2) <= "255" and
match.group(3) <= "255" and match.group(4) <= "255") :
print "yes IP matched"
else :
print "no have not matched"
我得到以下輸出簡單的代碼
no have not matched
我不能找出爲什麼我得到這個輸出。
我不是100%肯定,但我認爲你必須去除蜱(「)每一個操作數轉換爲
int()
各地你的255 – Thomas@ThomasMey,匹配的子字符串是* strings *。 「192」<255「並不比」192「<255」更正確。 –
@CharlesDuffy是的,正如摩西所指出的那樣,他也必須將match.group包裝在一個int(..)中,以便比較起作用。 – Thomas