一、 什么是正则?
正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事务的规则。(在python中)它内嵌在python中,并通过re模块实现。正则表达式被编译成一系列的字符码,然后由c编写的匹配引擎执行
二、常用正则模式
三 re 模块的findall 方法
1、w 匹配字母数字下划线
2、W 匹配非字母数字下滑线
3、 s 匹配任意空白字符
4、 S 匹配任意非空字符
5、d 匹配任意数字
6、D 匹配任意非数字
7、 匹配一个换行符
8、 匹配一个制表符
9、^ 以什么开头
10、$ 以什么结尾
重复相关的匹配
11、 . 代表任意一个字符
. 只能匹配 以外的任意字符
. 加入参数也能匹配
12、 ?代表?左边的字符出现0次或者1次
13、* 代表* 号左边的字符出现0次或者无穷次
14、+ 代表+号左边1次或者无穷次
15、{m,n} 代表左边的字符出现m次到n次
16、 .* 代表任意字符(贪婪匹配)
17、 .*? 非贪婪匹配
或者相关匹配
18、 | 或者
默认只匹配括号里面的
匹配全部
小练习:
解读:先看herf=“()”,在看括号里面
19 .、 反斜杠的用法
20、 [ ] 取括号内任意一个
四 re 模块的其他方法
1、re.search
有结果就放回一个对象,没有结果就放回none
查看匹配成功的结果,只匹配成功一次就返回
2、re.match
和search 的用法基本一致,从开头取值,有就返回,没有就返回none
3、re.split
4、re.sub
第一个单词和最后一个单词调换,其中()只是表示一个组和后面的1,2,3,4,5对应,第一个组表示以字母开头,第二个组表示非字母,第三个组表示任意字符,第四个组表示非字母,第五个组表示单词
5、re.compile