10-10 匹配模式参数
# 10-10 匹配模式参数
import re
lanuage = 'pythonC#javaphp'
r = re.findall('c#',lanuage)#将小写的c#看看打印出来的是啥?
print(r)
# 打印结果如图1,是一个空列表,因为区分大小写
# 那么有没有一种方法可以忽略大小写呢?看看下面的例子
import re
lanuage = 'pythonC#javaphp'
r = re.findall('c#',lanuage,re.I)#第三个参数就是flags,就是指的就是匹配模式
print(r)
# 打印结果如图2,打印出来了
# 第三个参数里面的re.I可以忽略大小写
# 还有一个就是re.S,匹配所有字符包括换行符!!!
# 看例子
import re
lanuage = 'pythonC#\njavaphp'
r = re.findall('c#.{1}',lanuage,re.I)#c#.{1}表示首先匹配c#任意的一个字符,包括换行符
print(r)
# 这样什么都打印不出来。正确的结果如下图
import re
lanuage = 'pythonC#\njavaphp'
r = re.findall('c#.{1}',lanuage,re.I | re.S)#c#.{1}表示首先匹配c#任意的一个字符,包括换行符,re.S,匹配所有字符包括换行符!!!
print(r)
# 打印结果如图3
# re.I | re.S(这是且的关系,既要忽略大小写,又要支持对点号行为的改变,两个同时满足,若果有需要,可以加竖线然后后面接着写)
![](https://img.haomeiwen.com/i11154655/868d1ff2fb978613.jpg)
![](https://img.haomeiwen.com/i11154655/9cac8afc4ccfa986.jpg)
![](https://img.haomeiwen.com/i11154655/b8c5f705d5ff1aec.jpg)
网友评论