黑马程序员技术交流社区

标题: 【广州Python】Python正则表达式中的re.S的作用 [打印本页]

作者: Leo06    时间: 2018-10-25 14:58
标题: 【广州Python】Python正则表达式中的re.S的作用
本帖最后由 Leo06 于 2018-10-25 15:06 编辑

Python的正则表达式中,有一个参数为re.S。它表示将“.”这个匹配符的作用扩展到整个字符串,包括“\n”
在正则表达式中, ‘.’的作用是表示匹配字符串中除了‘\n’的任意字符,如果不加 re.S ,每当遇到换行符,就会停止匹配。而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,将“\n”当做一个普通的字符加入到这个字符串中,在整体中进行匹配。


以下是代码的案例:
[AppleScript] 纯文本查看 复制代码
import re

str = '''
    This is
    Heima
    Itcast
'''

a = re.findall('This is(.*?)Itcast',str)
b = re.findall('This is(.*?)Itcast',str,re.S)

print('a is ',a)
print('b is ',b)


运行结果
a is  []
b is  [' \n    Heima\n    ']






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2