内容正文:
《Python语言程序设计基础》(电子科技大学出版社)
第7章 正则表达式
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.正则表达式的本质是( )
A. 一段普通文本
B. 一个文本模式
C. 一个编译后的对象
D. 一组匹配结果
【答案】B
【解析】正则表达式是通过一个字符序列来定义一种搜索模式,本质是文本模式,因此选B。
2.正则表达式匹配流程的第一步是( )
A. 匹配待匹配文本
B. 编译正则表达式文本
C. 生成正则表达式对象
D. 输出匹配结果
【答案】B
【解析】匹配流程为正则表达式文本→编译→正则表达式对象→匹配→结果,第一步是编译,因此选B。
3.正则表达式匹配流程中,编译后生成的是( )
A. 正则表达式对象
B. 待匹配文本
C. 匹配结果
D. 规则字符串
【答案】A
【解析】编译后生成正则表达式对象,因此选A。
4.正则表达式中,“测试字符串内是否出现电话号码模式”属于哪种功能( )
A. 数据验证
B. 替换文本
C. 提取子字符串
D. 查找特定文本
【答案】A
【解析】测试输入字符串是否出现电话号码模式或信用卡号码模式,这称为数据验证,因此选A。
5.以下场景中,属于数据验证应用的是( )
A. 替换文档中的错误词汇
B. 提取字符串中的邮箱地址
C. 检查输入是否符合信用卡号码格式
D. 查找文档中的关键词
【答案】C
【解析】数据验证是测试字符串是否符合特定模式,A是替换功能,B是提取功能,D是查找功能,因此选C。
6、正则表达式的查找文本功能核心是( )
A. 验证数据格式
B. 替换特定文本
C. 提取子字符串
D. 查找文档内特定文本
【答案】D
【解析】查找文本功能为查找文档内或输入域内特定的文本,因此选D。
7、数据验证的目的是( )
A. 查找特定文本
B. 测试字符串是否符合特定模式
C. 提取子字符串
D. 替换错误文本
【答案】B
【解析】数据验证是测试输入字符串,查看是否出现特定模式,因此选B。
8、以下数量限定符表示匹配前面的子表达式零次或多次的是( )
A. +
B. ?
C. *
D. {n,m}
【答案】C
【解析】*匹配前面的子表达式零次或多次,因此选C。
9、正则表达式中,“\s”匹配的是( )
A. 任何非空白字符
B. 任何空白字符
C. 数字字符
D. 单词字符
【答案】B
【解析】\s匹配任何空白字符,包括空格、制表符、换页符等,因此选B。
10、以下特殊字符可以匹配除换行符
之外的任何单字符的是( )
A. *
B. ?
C. .
D. |
【答案】C
【解析】.匹配除换行符
之外的任何单字符,因此选C。
11、re.match()函数的匹配特点是( )
A. 扫描整个字符串找第一个匹配项
B. 从字符串开头扫描匹配
C. 替换字符串中的匹配项
D. 拆分字符串为列表
【答案】B
【解析】match()函数会从字符串开头扫描若干字符是否匹配正则表达式pattern,仅匹配字符串开头,因此选B。
12、以下函数中,能扫描整个字符串并返回第一个匹配对象的是( )
A. re.search()
B. re.match()
C. re.compile()
D. re.sub()
【答案】A
【解析】search()函数扫描字符串,找到第一个与正则表达式pattern匹配的位置,并返回对应的匹配对象,区别于match()的开头匹配,因此选A。
13、re.sub()函数中,可选参数maxsplit的作用是( )
A. 最大匹配次数
B. 最大拆分次数
C. 最大替换次数
D. 最大搜索范围
【答案】C
【解析】re.sub()函数中,可选参数maxsplit的作用是指定最多替换次数,因此选C。
14、对于正则表达式r'^(\d {3,4}-)?(\d {7,8})$'匹配“010-62226666”,group(1)返回的是( )
A. '010-'
B. '62226666'
C. '010-62226666'
D. None
【答案】A
【解析】group(1)返回第一个分组的匹配内容'010-',分组按圆括号出现顺序编号,因此选A。
15、非捕获分组的作用是( )
A. 不匹配目标内容
B. 仅匹配目标内容,不单独捕获分组结果
C. 取消匹配功能
D. 优先匹配目标内容
【答案】B
【解析】非捕获分组的作用是仅匹配目标内容,不单独捕获分组结果,因此选B。
16、要将贪婪模式转换为非贪婪模式,需在哪个限定符后添加“?”( )
A. 、$
B. []、()
C. 、+
D. .、\d
【答案】C
【解析】元字符、+限定符都是贪婪的,在它们后面加上一个?就可以实现非贪婪匹配,因此选C。
17、正则表达式(/.+)/匹配路径/books/2019/Python,贪婪匹配的结果是( )
A. /books
B. /books/2019
C. /books/2019/Python
D. Python
【答案】B
【解析】贪婪表达式(/.+)/匹配/books/2019(尽可能多匹配到最后一个/前的内容),因此选B。
18、正则表达式<\w+?>匹配<H1>正则表达式的使用</H1>,结果是( )
A. <H1>
B. H1
C. <H1>正则表达式的使用</H1>
D. </H1>
【答案】A
【解析】\w+?是\w+的非贪婪形式,仅匹配最少的单词字符,因此<\w+?>匹配<H1>,因此选A。
19、程序中编译正则表达式使用的函数是( )
A. re.match()
B. re.compile()
C. re.search()
D. re.sub()
【答案】B
【解析】程序中编译正则表达式使用的函数是re.compile(),因此选B。
20、程序中用于判断字符串是否匹配正则表达式的函数是( )
A. compile()
B. search()
C. match()
D. split()
【答案】C
【解析】程序中用于判断字符串是否匹配正则表达式的函数是match(),因此选C。
2、 判断题(本题共10小题,每题2分,共20分)
1、正则表达式仅由字母和数字组成,不包含特殊符号。( )
【答案】错误。正则表达式由字母、数字和一些特殊符号组成,故错误。
2、正则表达式不能用于替换字符串中的特定部分,仅能判断和提取。( )
【答案】错误。正则表达式可用于查找和替换操作,故错误。
3、正则表达式的替换文本功能可删除特定文本或用其他文本替换。( )
【答案】正确。正则表达式的替换文本功能可删除特定文本或用其他文本替换,故正确。
4、正则表达式的替换文本功能仅能替换文本,不能删除文本。( )
【答案】错误。正则表达式的替换文本功能可完全删除该文本,故错误。
5、正则表达式中的“\w”匹配单词字符,包括字母、数字和下画线,等价于[a-zA-Z0-9_]。( )
【答案】正确。\w用来匹配一个单词字符,包括字母、数字和下画线,相当于[a-zA-Z0-9_],故正确。
6、正则表达式中的“\s”匹配任何空白字符,包括空格、制表符、换行符等。( )
【答案】正确。正则表达式中的“\s”匹配任何空白字符,包括空格、制表符、换页符等,故正确。
7、re.match()函数和 re.search()函数的匹配范围完全相同。( )
【答案】错误。match()从字符串开头匹配,search()扫描整个字符串找第一个匹配,匹配范围不同,故错误。
8、re.sub()函数默认仅替换字符串中第一个匹配项。( )
【答案】错误。re.sub()函数未指定maxsplit时,sub()默认替换所有非重叠匹配项,故错误。
9、正则表达式中的分组必须用圆括号“()”标记,其他符号无法实现分组。( )
【答案】正确。用一对圆括号“()”括起来的正则表达式表示一个分组,圆括号是分组的唯一标记,故正确。
10、正则表达式\d+?匹配12345,非贪婪模式的结果是1。( )
【答案】正确。\d+?尽可能少匹配数字,默认匹配1个数字1,故正确。
3、 填空题(本题共10小题,每题2分,共20分)
1、_______又称规则表达式,是一个特殊的字符序列。
【答案】正则表达式
2、与传统精确文本搜索相比,正则表达式的优势是更具灵活性,能更好地处理______文本搜索。
【答案】动态
3、_______可测试字符串内是否出现电话号码或信用卡号码等模式。
【答案】数据验证
4、正则表达式的“_______”功能可查找文档内或输入域内的特定文本。
【答案】查找文本
5、正则表达式的特殊序列中,_______等价于[0-9]。
【答案】\d
6、非打印字符________匹配一个换行符。
【答案】
7、Python中处理正则表达式的模块是______。
【答案】re
8、re.match()函数匹配失败返回________。
【答案】None
9、re.compile()函数的作用是编译正则表达式,返回_______对象。
【答案】pattern
10、re.split()函数的返回值是_______类型。
【答案】列表
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Python语言程序设计基础》(电子科技大学出版社)
第7章 正则表达式
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.正则表达式的本质是( )
A. 一段普通文本
B. 一个文本模式
C. 一个编译后的对象
D. 一组匹配结果
2.正则表达式匹配流程的第一步是( )
A. 匹配待匹配文本
B. 编译正则表达式文本
C. 生成正则表达式对象
D. 输出匹配结果
3.正则表达式匹配流程中,编译后生成的是( )
A. 正则表达式对象
B. 待匹配文本
C. 匹配结果
D. 规则字符串
4.正则表达式中,“测试字符串内是否出现电话号码模式”属于哪种功能( )
A. 数据验证
B. 替换文本
C. 提取子字符串
D. 查找特定文本
5.以下场景中,属于数据验证应用的是( )
A. 替换文档中的错误词汇
B. 提取字符串中的邮箱地址
C. 检查输入是否符合信用卡号码格式
D. 查找文档中的关键词
6、正则表达式的查找文本功能核心是( )
A. 验证数据格式
B. 替换特定文本
C. 提取子字符串
D. 查找文档内特定文本
7、数据验证的目的是( )
A. 查找特定文本
B. 测试字符串是否符合特定模式
C. 提取子字符串
D. 替换错误文本
8、以下数量限定符表示匹配前面的子表达式零次或多次的是( )
A. +
B. ?
C. *
D. {n,m}
9、正则表达式中,“\s”匹配的是( )
A. 任何非空白字符
B. 任何空白字符
C. 数字字符
D. 单词字符
10、以下特殊字符可以匹配除换行符
之外的任何单字符的是( )
A. *
B. ?
C. .
D. |
11、re.match()函数的匹配特点是( )
A. 扫描整个字符串找第一个匹配项
B. 从字符串开头扫描匹配
C. 替换字符串中的匹配项
D. 拆分字符串为列表
12、以下函数中,能扫描整个字符串并返回第一个匹配对象的是( )
A. re.search()
B. re.match()
C. re.compile()
D. re.sub()
13、re.sub()函数中,可选参数maxsplit的作用是( )
A. 最大匹配次数
B. 最大拆分次数
C. 最大替换次数
D. 最大搜索范围
14、对于正则表达式r'^(\d {3,4}-)?(\d {7,8})$'匹配“010-62226666”,group(1)返回的是( )
A. '010-'
B. '62226666'
C. '010-62226666'
D. None
15、非捕获分组的作用是( )
A. 不匹配目标内容
B. 仅匹配目标内容,不单独捕获分组结果
C. 取消匹配功能
D. 优先匹配目标内容
16、要将贪婪模式转换为非贪婪模式,需在哪个限定符后添加“?”( )
A. 、$
B. []、()
C. 、+
D. .、\d
17、正则表达式(/.+)/匹配路径/books/2019/Python,贪婪匹配的结果是( )
A. /books
B. /books/2019
C. /books/2019/Python
D. Python
18、正则表达式<\w+?>匹配<H1>正则表达式的使用</H1>,结果是( )
A. <H1>
B. H1
C. <H1>正则表达式的使用</H1>
D. </H1>
19、程序中编译正则表达式使用的函数是( )
A. re.match()
B. re.compile()
C. re.search()
D. re.sub()
20、程序中用于判断字符串是否匹配正则表达式的函数是( )
A. compile()
B. search()
C. match()
D. split()
2、 判断题(本题共10小题,每题2分,共20分)
1、正则表达式仅由字母和数字组成,不包含特殊符号。( )
2、正则表达式不能用于替换字符串中的特定部分,仅能判断和提取。( )
3、正则表达式的替换文本功能可删除特定文本或用其他文本替换。( )
4、正则表达式的替换文本功能仅能替换文本,不能删除文本。( )
5、正则表达式中的“\w”匹配单词字符,包括字母、数字和下画线,等价于[a-zA-Z0-9_]。( )
6、正则表达式中的“\s”匹配任何空白字符,包括空格、制表符、换行符等。( )
7、re.match()函数和 re.search()函数的匹配范围完全相同。( )
8、re.sub()函数默认仅替换字符串中第一个匹配项。( )
9、正则表达式中的分组必须用圆括号“()”标记,其他符号无法实现分组。( )
10、正则表达式\d+?匹配12345,非贪婪模式的结果是1。( )
3、 填空题(本题共10小题,每题2分,共20分)
1、_______又称规则表达式,是一个特殊的字符序列。
2、与传统精确文本搜索相比,正则表达式的优势是更具灵活性,能更好地处理______文本搜索。
3、_______可测试字符串内是否出现电话号码或信用卡号码等模式。
4、正则表达式的“_______”功能可查找文档内或输入域内的特定文本。
5、正则表达式的特殊序列中,_______等价于[0-9]。
6、非打印字符________匹配一个换行符。
7、Python中处理正则表达式的模块是______。
8、re.match()函数匹配失败返回________。
9、re.compile()函数的作用是编译正则表达式,返回_______对象。
10、re.split()函数的返回值是_______类型。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$