找出服务器的IP和端口号

【问题描述】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

提取用户输入的字符串中的IP地址和端口号,IP地址和端口号由冒号隔开,要求将IP地址和端口号分开打印输出在控制台上。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出服务器的IP和端口号输入数据:nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

服务器1的IP地址是:192.168.3.112:8080,服务器2的IP地址是:192.168.3.122:80nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出服务器的IP和端口号输出结果:nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

匹配结果:[('192.168.3.112','8080'),('192.168.3.122','80')]nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

IP地址表:['192.168.3.112','192.168.3.122']nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

端口号表:['8080','80']nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题前思考】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

根据问题描述,填写表10-2-1。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表10-2-1 问题分析nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出服务器的IP和端口号nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【解题思路】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

为了将IP地址和端口号分开,需要在正则表达式中定义两个分组,分别对IP地址和端口号样式加( )。此外,调用re.findall( )方法匹配样式,结果为元组的列表,还需要编程从结果中取出IP地址和端口号。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【程序代码】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出服务器的IP和端口号nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【代码分析】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

①:pattern保存的样式联合提取IP地址和端口号。(\d{1,3}(?:\.\d{1,3}){3})匹配IP地址。“:”匹配冒号。因为端口号的范围是1~65535,所以用(\d{1,5})匹配端口号。注意,( )构成捕获组,(?:)为非捕获组,本次主要讨论捕获组。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

②:采用re.findall( )方法从左到右扫描字符串,返回一个不重复的pattern的匹配列表。如果有多个分组,就把每个分组看成一项,组合为一个元组,然后返回一个元组的列表。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

③:返回一个元组的列表,注意结果中没有冒号。匹配过程如图10-2-1所示。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

④:取出rs中的IP地址组成地址表ips。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

⑤:取出rs中的端口号组成端口号表ports。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

找出服务器的IP和端口号nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

图10-2-1 捕获组匹配样式nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【技术全貌】nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

Python正则表达式组分为捕获组和非捕获组。( )是捕获组,将括号内的规则视为一个整体,有一个回溯引用,将所有匹配的分组保存在内存中,引用分组的时候引用匹配出的文本。非捕获组(?:)仅匹配文本,不会捕获文本保存到内存中。nXM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

服务器

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢