python基础正则匹配

1. 正则表达式方法

‘re’模块提供了几个方法对输入的字符串进行确切的查询

re.match() re.search() re.findall()

每一个方法都接收一个正则表达式和一个待查找匹配的字符串。

group(0) // 获得匹配后的字符串

2. 使用re.match查找 – 匹配开始

match从头部开始匹配 如果头部匹配失败 则无法找到匹配

案例:

Import re

Match = re.match(r’dog’,’dog cat dog’)

Match.group(0)

可以匹配到dog字符串

如果

Import re

Match = re.match(r’cat’,’dog cat dog’)

Match.group(0)

就是无法匹配到的

3. 使用re.search查找 – 匹配任意位置

Search()方法和match()类似 不过search()方法不会限制我们只从字符串的开头进行查找匹配,因此我们的是里字符串中查找cat会查找到一个匹配

Import re

Match = re.search(r’cat’,’dog cat dog’)

Match.group(0)

4. 使用re.findall – 所有匹配对象

目前为止在python中使用最多的查找方法是findall()方法。当我们调用findall()方法,我们可以非常简单的得到一个匹配模式的列表 ,而不是得到match的对象

re.findall(r’dog’,‘dog cat dog’)

5.常用正则匹配字符

python基础正则匹配

python基础正则匹配

6.常规匹配的正则语法(出处langzi师傅)

1.汉字:[\u4e00-\u9fa5]{0,}
2.英文和数字:[A-Za-z0-9]+
3.长度为3-20的所有字符:.{3,20}
4.Email地址:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*
5.域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
6.InternetURL:[a-zA-z]+://[^\s] 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=])?$
7.手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
8.国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}(0511-4405222、021-87888822)
9.日期格式:^\d{4}-\d{1,2}-\d{1,2}
10.空白行的正则表达式:\n\s*\r (可以用来删除空白行)
11.腾讯QQ号:[1-9][0-9]{4,}
12.IP地址提取:\d+.\d+.\d+.\d+

相关文章: