zl程序教程

您现在的位置是:首页 >  Python

当前栏目

Python使用正则表达式检查合法IP地址

2023-04-18 13:13:11 时间

全国高校教师Python课程高级研修班(线上,11月20-21日)

中国大学MOOC“Python程序设计基础”第5次开课

推荐图书:

《Python可以这样学》,ISBN:9787302456469,董付国,清华大学出版社,第9次印刷,本书2017年已在台湾发行繁体版

0f27f15d774f7005b3eb3b48beb74b86.png

重磅:《Python可以这样学》正式出版

图书详情

天猫双十一半价(原价69元,活动期间34.5元)购买链接,打开清华大学出版社官方网站页面后选择“购买纸质书”,自动跳转到清华大学出版社天猫官方旗舰店:

94878780753d067b8ead627290f87c98.png

或直接复制淘宝链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.19.15ef22260DSRSF&id=544817105410&rn=93b53651c3c26873c2b7b0432d7a1ebf&abbucket=10

京东和其他平台也有不同程度的优惠,京东链接

e34178edf3d92daebf5d76733fc34b36.png

=======================

问题描述:

函数main()接收一个任意字符串s作为参数,要求使用正则表达式检查字符串s是否为有效的IPv4地址,也就是由3个圆点分隔的4组十进制数且每组十进制数都介于区间[0,255]。如果字符串s符合要求就返回True,否则返回False。例如,main('0.0.0.0')返回True,main('119.189.876.0')返回False。

思路:

如果某一组数字只有一位或两位,可以是任意数字;如果某一组数字是三位的话,首位是0或1时后面两位可以是任意数字,首位是2且第二位介于0-4之间的话第三位可以是任意数字,首位是2且第二位是5的话第三位必须介于0-5之间。

参考代码:

cff3a616ffb5b714d26dbb40c2a8b585.png

运行结果:

e51b32b2c9419c3ce7b1c5103e1aee7e.png

作业:

如果要求不能使用正则表达式,代码应如何编写?第一位编写出正确、优雅代码且留言分享的朋友,免费送一本《Python可以这样学》图书。

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过130次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过600节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2048道客观题和404道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。