正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用实现定义好的一些特定
字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”
用来表达对字符串的一种过滤逻辑。
1、
正则表达式用法
![](https://i-blog.csdnimg.cn/blog_migrate/2d080c31079ff75f490d5c995ad43a58.png)
(1)最常规的匹配
![](https://i-blog.csdnimg.cn/blog_migrate/4cec95ba5869ff7c68ca36d015e6fab6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1686174bdf0818de5c6b5824a071e817.png)
(3)匹配目标
![](https://i-blog.csdnimg.cn/blog_migrate/50f560b5262ffddbf05c83aae976c56a.png)
在目标匹配中,将需要匹配的对象用()括号括起来,那么 group(1)打印出来的
就是第一个圆括号括起来的。
(4)贪婪匹配
![](https://i-blog.csdnimg.cn/blog_migrate/b52c4315d3cdf71127a989f21e4c338f.png)
这里的.*是匹配尽可能多的数据,上面这里留下一个 7 数字用于匹配
(5)非贪婪匹配
![](https://i-blog.csdnimg.cn/blog_migrate/92e2e809952ba353ef1e193bc3bc4621.png)
.*?匹配尽可能少的字符。
(6)匹配模式
![](https://i-blog.csdnimg.cn/blog_migrate/4342898726a6d7d9bc57b7860931da4a.png)
因为.不能匹配换行符,所以当有换行符时,匹配不到相应的数据,这时候得需要
在后面加一个 re.S
2、
re.search 方法
re.search 扫描整个字符串并返回第一个成功的匹配。为了匹配方便,能用
search 的就不用 match。
![](https://i-blog.csdnimg.cn/blog_migrate/f9fa989a15085b339647afa6c7b859d3.png)
re.findall
搜索字符串,以列表形式返回全部能匹配的子串。
![](https://i-blog.csdnimg.cn/blog_migrate/32b0eb9ebf8580e089492f6ba40f49dd.png)
4、
re.sub
替换字符串中每一个匹配的子串后返回替换后的字符串。
![](https://i-blog.csdnimg.cn/blog_migrate/5316561608cf2cc4c031a739580d333b.png)
5、
re.compile
将正则表达式串编译成正则对象。
![](https://i-blog.csdnimg.cn/blog_migrate/a87940d7018b38f0cc8ad17a68d4a6bb.png)
例子