题目
阅读下列代码,print输出什么?import re pattern = re.compile(r'd+') # 查找数字result1 = pattern.findall('runoob 123 google 456')result2 = pattern.findall('run88oob123google456', 0, 10) print(result1)print(result2)A. ['12', '45']['88', '12']B. ['123', '456']['88', '12']C. ['1', '4']['8', '1']D. '123', '456''88', '12'
阅读下列代码,print输出什么?import re pattern = re.compile(r'\d+') # 查找数字result1 = pattern.findall('runoob 123 google 456')result2 = pattern.findall('run88oob123google456', 0, 10) print(result1)print(result2)
A. ['12', '45']['88', '12']
B. ['123', '456']['88', '12']
C. ['1', '4']['8', '1']
D. '123', '456''88', '12'
题目解答
答案
B. ['123', '456']['88', '12']
解析
步骤 1:理解正则表达式
正则表达式 r'\d+' 表示匹配一个或多个数字。其中,'\d' 表示匹配一个数字,'+' 表示匹配前面的字符一个或多个。
步骤 2:分析第一个 findall 调用
在字符串 'runoob 123 google 456' 中,正则表达式 r'\d+' 匹配到两个数字序列 '123' 和 '456'。因此,result1 的值为 ['123', '456']。
步骤 3:分析第二个 findall 调用
在字符串 'run88oob123google456' 中,正则表达式 r'\d+' 在指定的范围 (0, 10) 内匹配到两个数字序列 '88' 和 '12'。因此,result2 的值为 ['88', '12']。
步骤 4:输出结果
print(result1) 输出 ['123', '456'],print(result2) 输出 ['88', '12']。
正则表达式 r'\d+' 表示匹配一个或多个数字。其中,'\d' 表示匹配一个数字,'+' 表示匹配前面的字符一个或多个。
步骤 2:分析第一个 findall 调用
在字符串 'runoob 123 google 456' 中,正则表达式 r'\d+' 匹配到两个数字序列 '123' 和 '456'。因此,result1 的值为 ['123', '456']。
步骤 3:分析第二个 findall 调用
在字符串 'run88oob123google456' 中,正则表达式 r'\d+' 在指定的范围 (0, 10) 内匹配到两个数字序列 '88' 和 '12'。因此,result2 的值为 ['88', '12']。
步骤 4:输出结果
print(result1) 输出 ['123', '456'],print(result2) 输出 ['88', '12']。