《Python程序设计基础项目化教程习题项目十一Python爬虫基础.docx》由会员分享,可在线阅读,更多相关《Python程序设计基础项目化教程习题项目十一Python爬虫基础.docx(4页珍藏版)》请在优知文库上搜索。
1、Python爬虫基础测试习题测试习题一、填空题1. Python中正则表达式中的普通字符需要做精确匹配,而特殊字符指定的匹配模式则对应了用于匹配的规则。2. Python中正则表达式的特殊序列是由和一个字符构成。3. 使用Python提供的模块,可以实现基于正则表达式的模糊匹配。4. 函数用于将一个字符串形式的正则表达式编译成一个正则表达式对象,供match,search以及其他一些函数使用。5. re模块中的match函数用于对字符串开头的若干字符进行正则表达式的匹配。匹配成功,返回一个;匹配失败,返回O6. re模块中的finditer函数与re.findall函数功能都是用于在字符串中找
2、到所有与正则表达式匹配的子串,区别在于re.findall函数返回形式的结果,而re.finditer返回形式的结果。7. re模块中的函数用于将字符串按与正则表达式匹配的子串分割。二、选择题1 .下列匹配模式叙述错误的是()A.八用于匹配字符串开头的若干字符B. *用于匹配前一个模式0次或多次C. ?用于匹配前一个模式0次或1次D. AIB表示同时匹配模式A和模式B2 .关于正则表达式特殊序列叙述错误的是()A.A匹配字符串开头的若干字符,功能同八B. d匹配任T字字符,等价于0-9C. S匹配任一空白字符D. D与d作用相反,匹配任一非数字字符,等价于AO-9三、简答题1 .写出下面程序的
3、运行结果。importrepattern=pile(r,Studentre.I)#生成正则表达式对象rl=pattern.match(,Studentsstudyprogramming)r2=pattern.match(,Iamastudent!,3)r3=pattern.match(,Iamastudent!,l7)r4=re.search(r,Student,Iamastudentzre.I)r5=re.match(r,Student,Iamastudent,zre.I)print(rl)print(r2)print(r3)print(r4)print(r5)2 .写出下面程序的运行结果。
4、importrestr=Sno:#1810101#,name:#李晓明#,age:#19#,major:#计算机#Sno:#1810102#,name:#马红#,age:#20#,major:#数学#rlt=re.search(rsno:#(sS*?)#sS*?major:#(sS*?)#/str,re.I)ifrlt:#判断是否有匹配结果PrintC匹配到的整个字符串rlt.grOUPO)PrimCSno:%s,startpos:%d,endpos%d,%(rlt.group(l),rlt.start(l)zrlt.end(l)PrintCmajor:%s,StartPOs:%d,endpos:%d,%(rlt.group(2),rlt.start(2)zrlt.end(2)Print(所有分组匹配结果旧rlt.grOUPSO)else:PrimC未找到匹配信息)3 .写出下面程序的运行结果。importrehtml=%abc%def%python(ghi)content=re.sub(r%sS*%html)Content=ContentstripOPrimc替换之后的内容为:,content)content2=re.subn(r%sS*%,8i,zhtml)Print(,替换之后的内容及替换次数为:,content2)