版权声明:本文为博主原创文章,未经博主允许不得转载。
一、单选题
1.如下:( )
A. "$%^&*@#~!"
B. "$%^&*@#~!"
C. "$%^&*@#~!".
D. "$%^&*@#~!".
2.已知圆周率 π=3.1415 9265 3589 7932 3846 ,请注意,小数点后每四位一组,每组间有一个空格,现要求匹配结果为 3.1415 9265 3589 ,下列选项正确的是()
num='3.1415 9265 3589 7932 3846'
print(re.findall('^[3].(\d{1,4}\s){2}', num))
print(re.findall('^[3]\.(\d{1,4}\s){3}', num))
print(re.findall('3.(\d{1,4}){2}', num))
# print(re.findall('^[3].({1,4}\s){2}', num))
3.下列有关正则表达式: \d{4}\s+\d{3,9},描述不正确的是()
4.有关贪婪模式和非贪婪模式的描述,下列选项正确的是( C )
- A .贪婪模式是在整个表达式匹配成功的前提下,尽可能少的匹配 【尽可能多的匹配】
- B .非贪婪模式是在整个表达式匹配成功的前提下,尽可能多的匹配 【尽可能少的匹配】
- C .非贪婪模式是在整个表达式匹配成功的前提下,以最少的匹配字符
- D .默认是非贪婪模式 【默认贪婪模式】
5.下列关于 findall() 的定义,描述正确的是( A )
- A .查找字符串中所有(非重复出现)的正则表达式模式并返回一个匹配列表
- B .查找字符串中所有(非重复出现)的正则表达式模式并返回一个匹配元组
- C .查找字符串中的正则表达式模式,匹配成功则立刻以列表形式返回
- D .查找字符串中的正则表达式模式,匹配成功则立刻以元组形式返回
6.下图所示代码的打印结果为:[‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’],请根据以上结果在红色方框内填上填写正确代码,使程序正常执行(D)
import re
content = '012p34yt_8h30o6n'
pattern = re.compile('[a-z]')
res = pattern.findall(content)
print(res)
# 执行结果:
A. []
B. ['0', '1', '2', 'p', '3', '4', 'y', 't', '_', '8', 'h', '3', '0', 'o', '6', 'n']
C.
D. ['p', 'y', 't', 'h', 'o', 'n']
7.正则表达式中,关于 search( ) 方法,下列描述正确的是( B )
- A .扫描整个字符串,匹配成功,返回匹配的字符串
- B .扫描整个字符串,匹配成功,返回匹配对象
- C .re.search()方法要求必须从字符串的起始位置进行匹配
- D .re.search()匹配失败,返回空字符串 【None】
8.下列关于 group( ) 方法,描述正确的是()
- A .group(num)用于对匹配成功的返回值进行分组,从而使匹配结果进一步的
- B .group(num)未传入num参数时用于返回整个的匹配对象,若未匹配成功,个空元组
- C .group(num)未传入num参数时用于返回整个的匹配对象,当传入num参数回值为特定分组
- D .group(num)用于对匹配成功返回的所有子组进行再分组,从而使匹配结果的过滤
9.根据下面代码,推断其执行结果正确的一项是( A )
import re
my_con = 'Python is a good programming language.'
pattern = re.compile('Python')
res = pattern.search(my_con)
if res:
print(res.group())
- A .Python
- B .Python is a good programming language.
- C .( )
- D .(Python,)
10.根据下面代码,请在认真阅读完代码后,选择其执行结果正确的一项( D )
import re
my_str = '185ip2h30o5s9i7k01'
pattern = re.compile('[a-z]+')
result = pattern.split(my_str)
print(result)
- A .(‘ip’, ‘h’, ‘o’, ‘s’, ‘i’, ‘k’)
- B . [‘ip’, ‘h’, ‘o’, ‘s’, ‘i’, ‘k’]
- C .(‘185’, ‘2’, ‘30’, ‘5’, ‘9’, ‘7’, ‘01’)
- D . [‘185’, ‘2’, ‘30’, ‘5’, ‘9’, ‘7’, ‘01’]
二、多选题
1.关于正则表达式的匹配,下列正确的是( C D )(选两项)
- A .匹配纯18位数字的身份证号码:\D{18} 【\d{18}】
- B .以字母开头,有数字和下划线组成的长度为9-17的用户名:^ [a-zA-Z]\w{ 【】
- C .匹配5-12位qq号:[0-9]\d{4,11} 【√】
- D .11位的电话号码:1[3-9]\d{9} 【√】
三、练习题
3.1 正则表达式的使用
一、
import re
#