python正则怎么提取域名
淡淡烟草味
淡淡烟草味 2017-06-22 11:51:53
[Python讨论组]

怎么用python正则从这段脚本中提取coggles.co.uk域名呢,望各路高手指点显示下身手...

淡淡烟草味
淡淡烟草味

全部回复(1)
ringa_lee

正则实现的话只要保证你的标定/特征是唯一的就好。但是"url"这个标志又不是唯一的。这个时候@prolifes的方法是很好的。

如果一定要正则实现呢,要用到零宽断言(zero-width assertions),当然这个词的翻译比较直,带来很多误解。它其实意思是指定位置的匹配,位置的宽度就是0嘛。

这里我们可以看到我们所需的这个"url""location"里面,可以以此为位置信息。

代码如下:

re.search('(?<=location).+?"url": "([^"]+)"', string, re.DOTALL).group(1)

稍微解释一下,
(?<=location)这个地方就是指前面得有location。后面有的话这样写:(?=location)
re.DOTALL这个是必须的,因为这些字符串已经跨行了。他的作用是将.的字符串匹配范围扩大,包含换行符。
"([^"]+)"这个地方是我的习惯,[^"]意指所有非"的字符,这就匹配了双引号中所有的字符串。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号