首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - re.search - re.compile

Python - re.search - re.compile
EN

Stack Overflow用户
提问于 2018-01-22 12:33:16
回答 1查看 107关注 0票数 0

我是个新手,仍然在努力让解析工作正常。有什么建议吗。

代码语言:javascript
复制
import urllib2
import re

## Open Connection ##
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
oururl = opener.open('http://www.ip-lookup.net')

## IP Addresss finder ##
theIP = re.compile(r"d{1,3}.d{1,3}.d{1,3}.d{1,3}")
ip = re.search(theIP, str(oururl))

## Country finder ##
roughCountry = re.compile('([A-Z]\w+)( [A-Z]\w+){0,2}(?=\<\/a\>\s\s)')
Country = re.search(roughCountry, str(oururl))

## Print out ##
print "Your IP is:", ip
print "Your Country is:", Country
EN

回答 1

Stack Overflow用户

发布于 2018-01-22 15:28:40

您忘记了theIP中数字前面的转义反斜杠和点。像dd.dddxdd(ddd这样的东西与d{1,3}.d{1,3}.d{1,3}.d{1,3}相匹配。我猜您尝试实现的正则表达式是\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

但要小心,这也将与923.234.512.235这样的ips匹配,后者显然允许大于255的数字。对于限制为0-255的正则表达式,只需尝试一下google即可。在ip正则表达式上有一百万个示例。例如,看看herehere

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48374715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档