BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #35439同步于 2009/8/22
SoftDesign机器人发帖

[合集] 求python正则表达式,匹配ip的表达式

FadeToBlack
2009/8/22镜像同步0 回复
☆─────────────────────────────────────☆ yecy (sophia) 于 (Wed Aug 12 10:55:13 2009) 提到: 如果想 把一句 <address addr="192.168.1.0" addrtype="ipv4" /> 中的ip地址匹配上,并输出,该怎么写呢 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Wed Aug 12 13:07:07 2009) 提到: python不会,写一个试试。 >>> import re >>> b=re.compile(r"(\d{1,3}\.){1,3}\d{1,3}").search('<address addr="192.168.1.0" addrtype="ipv4" />') >>> b.group() '192.168.1.0' 看样子,你的数据是个xml,为什么不用dom去解析呢? 【 在 yecy (sophia) 的大作中提到: 】 : 如果想 把一句 <address addr="192.168.1.0" addrtype="ipv4" /> 中的ip地址匹配 : 上,并输出,该怎么写呢 ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Wed Aug 12 16:13:58 2009) 提到: 或者不用正则呢 small_num_strings = map(str,range(256)) def is_dot_decimals(w): sws = w.split(".") if len(sws) != 4: return False for sw in sws: if sw not in small_num_strings: return False return True 或者更加one-liner一点: def is_dot_decimal(w): sws = w.split(".") return len(sws)==4 and all([(sw in small_num_strings) for sw in sws]) ☆─────────────────────────────────────☆ Keyman (KISS) 于 (Wed Aug 12 20:53:39 2009) 提到: (?<First>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Second>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Third>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Fourth>2[0-4]\d|25[0-5]|[01]?\d\d?) 比较精准的匹配IP的正则 ☆─────────────────────────────────────☆ yecy (sophia) 于 (Thu Aug 13 08:57:42 2009) 提到: 【 在 BookMoth 的大作中提到: 】 : python不会,写一个试试。 : >>> import re : >>> b=re.compile(r"(\d{1,3}\.){1,3}\d{1,3}").search('<address addr="192.168.1.0" addrtype="ipv4" />') : ................... 这个跟我写的差不多,呵呵,可是运行结果 却 出乎意料,不过对于不会python的,还是不得不赞 贴一个 成功的 #!/usr/bin/python import re mailFile = "mailFile.txt" f = file(mailFile, 'r') while True: line = f.readline() if len(line) == 0: break mailPattern = re.compile(r'^From:\D+<(\D+@\D+)>') m = mailPattern.search(line) if m <> None: print m.group(1) f.close()
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。