题目:(单选题)下列程序打印结果为( )
import re
str1 = "Python's features"
str2 = re.match( r'(.*)on( .*?) .*',str1,re.M|re.I)
print(str2.group(1))
A Python B Pyth C thon's D Python's features
分析:re模块实现正则的功能 re.match(正则表达式,要匹配的字符串,[匹配模式]) 要匹配的字符串为str1 = "Python's features" 正则表达式r'(.*)on(.*?) .*'
- r表示后面的字符串是一个普通字符串(比如\n会译为\和n,而不是换行符)
- ()符号包住的数据为要提取的数据,通常与.group()函数连用。
- .M:多行匹配,影响 ^ 和 $
- .I:使匹配对大小写不敏感
- .匹配单个任意字符
- *匹配前一个字符出现0次或无限次
- ?匹配前一个字符出现0次或1次
- (.*)提取的数据为str1字符串中on左边的所有字符,即Pyth
- (.*?)提取的数据为str1中on右边,空格前面,即's
- .group(0)输出的是匹配正则表达式整体结果
- .group(1) 列出第一个括号匹配部分,
- .group(2) 列出第二个括号匹配部分
答案:B Pyth