正则表达式常用API
re (regex)
match( ):常用的匹配
search( ):只查找第一个; (返回值也是一个对象,通过group()获取具体值)
findall( ): 查找所有符合标准内容;(返回值是一个列表)
sub( ): 替换字符串; (返回值是替换后的字符串)
split( ) 字符串截取 --> list; (返回值list)
匹配单个字符串
. 匹配任意1个字符(除了\n)
[ ] 匹配[ ]中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即 空格,tab键
\S 匹配非空白
\w 匹配单词字符,即a-z、A-Z、0-9、_ 汉字(一般不用)
\W 匹配非单词字符
匹配多个字符串(量词)
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少有1次
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 0|1
{m} 匹配前一个字符出现m次 == m
{m,} 匹配前一个字符出现 >= m 次
{m,n} 匹配前一个字符出现: m次<= 前一个字符 <=n次
匹配开头结尾(边界)
^ 匹配字符串开头
$ 匹配字符串结尾
分组
(ab) 将括号中字符作为一个分组
| 匹配左右任意一个表达式
\num 引用分组num匹配到的字符串
(?P<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串
r 的作用、贪婪和非贪婪
r的作用: 让程序把正则直接当做正则看; (不会从字符串开始解释)
贪婪; (量词在自己的范围内,取最多...)
非贪婪:(量词后面加?)[非贪婪就是取最少]