有人可以向我解释为什么这不匹配,我收到了不可接受的内容。
linesout = "test.host.com (10.200.100.10)"
pat = re.compile("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")
test = pat.match(linesout)
if test:
print "Acceptable ip address"
else:
print "Unacceptable ip address"
谢谢
答案 0 :(得分:3)
使用search
代替match
pat = re.compile("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")
test = pat.search(linesout)
如果您想使用match
,请使用.*
pat = re.compile(".*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")
test = pat.match(linesout)
两种情况下的输出:
Acceptable ip address
的文档
Python提供了两种基于常规的基本操作 表达式:re.match()仅在开头检查匹配 字符串,而re.search()检查匹配中的任何位置 string(这是Perl默认执行的操作)。
答案 1 :(得分:-1)
pat = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
test = pat.match(hostIP)
if test:
print ("Acceptable ip address")
else:
print ("Unacceptable ip address")