假设已导入正则表达式模块 re,已知:
s = '<html><head>This is head.head><body>This is body.body>html>' 和
pattern = r'<html><head>(.+)head><body>(.+)body>html>'
那么表达式 re.findall(pattern, s) 的值为( )。
[(‘This is head.’, ‘This is body.’)]
假设已导入正则表达式模块 re,那么表达式 max(re.findall(‘\d+’, ‘abc1d22e333fg’), key=len, default=‘no’) 的值为( )。
‘333’
假设已导入正则表达式模块 re,且有 example = r’one1two2three3four4five5555six6seven7eight88nine999ten’,那么表达式 len(re.split(‘\d+’, example)) 的值为( )。
10
下列关于正则表达式的说法中,错误的是( )。
只有通过预编译的字符串才能使用正则表达式
下列关于元字符功能的说法,错误的是( )。
“*”字符表示匹配 1 次或多次
下列函数中,用于文本分割的是( )。
split()
下列关于 re 模块中函数或方法的说明中,正确的是(D)。
A.split()将目标对象使用正则对象分割,成功则返回匹配对象(是一个列表),可指定最大分割次。
B.finditer()与 findall()功能相同,但返回的是迭代器对象 iterator。
C.compile()对正则表达式进行预编译,并返回一个 Pattern 对象。
> D.以上全部
使用“\d”匹配字符串“Python123”,匹配结果可能是( )。
1
以下各个选项里,哪个不全是正则表达式的特殊字符?( )
\、/
re模块的compile()方法的原型是”re.compile(pattern,flags=0)”,对于可选参数flags的各种可能取值,以下说法错误的是( )。
可使用re.D或者re.DOTALL要求特殊字符”.”可匹配换行符在内的所有字符。
正则表达式模块 re 的 match()函数是从字符串的开始匹配特定模式,而search()函数是在整个字符串中寻找模式,这两个函数如果匹配成功则返回 Match 对象,匹配失败则返回空值 None。( )
√
正则表达式’^\d{18}|\d{15}$'只能检查给定字符串是否为 18 位或 15 位数字字符,并不能保证一定是合法有效的身份证号。( )
√
正则表达式元字符’\d’用来匹配任意空白字符。( )
×
假设已导入模块 re,那么表达式 len(re.split(’ \ .+', ‘alpha.beta…gamma…delta’))的值为4。( )
√
假设已导入模块 re,那么表达式 ‘’.join(re.split(‘[sd]’,‘asdssfff’)) 的值为’assfff’。( )
×
当在字符串前加上小写字母f或大写字母F时表示原始字符串,不对其中的任何字符进行转义。( )
×
已知 text = ‘111a22bb3ccc’,并且已导入正则表达式模块 re,那么表达式 len(re.split(‘[abc]+’, text))的值为3。( )
×
假设正则表达式模块 re 已导入,那么表达式 re.sub(‘\d+’, ‘1’, ‘a12345bbbb67c890d0e’)的值为’a1bbbb1c1d1e’。( )
√
split()方法分割的子项会保存到元组中。( )
×
re 模块中提供的 split()方法可使用与正则表达式模式相同的字符串分割指定文本。( )
√