推荐:https://any86.github.io/any-rule/
一、基本语法
1、[]
[abc] 查找方括号之间的任何字符
[^abc] 查找任何不在方括号之间的字符
[0-9] 查找任何从0-9的数字
[A-z] 查找任何从大写A到小写z的字符
2、元字符
. 查找单个字符,除换行符
\ 改变特殊字符的含义,例ab\[cd\] == ab[cd]
3、量词
$ 匹配任何结尾为某元素的字符串,例a$ == dsda或dwdsdsdcsa
^ 匹配任何开头为某元素的字符串,例^a == aesss
二、实例
实际情况中需要我们根据具体情况再这些正则表达式的首部和尾部加上相应的边界符^、$
匹配一个数字: [0-9]*
匹配一个手机号: 1[3578]\d{9}
匹配一个qq邮箱: [1-9]\d{4,9}@qq\.com
匹配一个网址: https?://.+
匹配一个ip: (?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))
匹配一个身份证号: [1-8] \d{5}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]
python:
re.findall(pattern,string)
在列表中返回全部匹配的数据