https://www.cnblogs.com/cq146637/p/8072540.html
| 通配符 | 含义 | 正则示例 | 匹配结果 |
|---|---|---|---|
| reg1 | reg2 | 匹配正则表达式reg1或reg2 | foo | bar | foo |
| . | 匹配任何字符(\n除外) | a.a | abc |
| ^ | 匹配字符串起始部分 | ^a | ab.... |
| $ | 匹配字符串终止部分 | .txt$ | a.txt |
| * | 匹配0次或者多次前面出现的正则表达式 | a* | aaaaa |
| + | 匹配1次或者多次前面出现的正则表达式 | [a-z]+ | aasx |
| ? | 匹配0次或者1次前面出现的正则表达式 | first? | first |
| {N} | 匹配N次前面出现的正则表达式 | *.c{2} | first.c abc.c |
| {M,N} | 匹配M~N次前面出现的正则表达式 | *.c{0,1} | one.c |
| [...] | 匹配来自字符集的任意单个字符 | [abc] | b |
| [...x-y...] | 匹配x~y范围中的任意单个字符 | [0-9] | 9 |
| [^...] | 不匹配次字符集中任意单个字符 | [^0-9] | a |
| (*|+|?|{})? | 匹配上面频繁出现符号的非贪婪版 | (*|+|?|{})? | ({}) |
| (...) | 匹配封闭的正则表达式,然后另存为子组 | ([0-1][0-9])? | 12 |
| \d | 匹配任何十进制数字 | \d.txt | 1.txt |
| \w | 匹配任何字母数字字符 | \w{2}txt | 1.txt |
| \s | 匹配任何空格字符 | a\sb | a b |
| \b | 匹配任何单词边界 | The\bdog | The dog |
| \N | 匹配已保存的子组 | ([0-9])\1 | 1 |
| \. | 匹配"."这个字符 | a\.txt | a.txt |
| 正则表达式 | 描述 | 匹配结果 |
|---|---|---|
| \d+(\.\d*)? | 任意整数和浮点数 | 0.004 2 75. |
| \b[^\Wa-z0-9_][^\WA-Z0-9_]*\b | 首字母只能大写 | Boo Foo |
| ^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w-.\/\?%&=\u4e00-\u9fa5]*)?)?$ | 验证网址 | http://www.baidu.com/?id=1 |
| ^[\u4e00-\u9fa5]{0,}$ | 验证汉字 | 汉字汉字 |
| \w+([-+.‘]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* | 验证电子邮件 | example@163.com |
| ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$ | 验证身份证 | 14525419951215445X |
| ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8} | 验证手机号 | 138459572*** |
| ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$ | 验证IP | 192.168.1.1 |
| ^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.s|)$ | 验证域名 | baidu.com |
| ^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$ | 验证文件路径 | C:\user\wo |
| <(.*)>(.*)<\/(.*)>|<(.*)\/> | HTML标签匹配 | xxxx |
#re模块
#常用的方法
compile(pattern, flags = 0) 匹配任何可选的标记来编译正则表达式的模式,然后返回一个正则表达式对象
match(pattern, string, flags = 0) 使用带有可选标记的正则表达式的模式来匹配字符串。如果匹配成功,返回匹配对象,否则返回None
search(pattern, string ,flags = 0) 使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,则返回匹配对象,否则返回None
findall(pattern, string[,flags] ) 查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表
finditer(pattern, string[,flags] ) 与findall()相同,但返回的是一个迭代器。对于每一次匹配,迭代器都能返回一个匹配对象
split(pattern, string, max = 0) 根据正则表达式的模式分隔符,split函数将字符串分割为列表,返回匹配列表,分割最多操作max次
group(num = 0) 返回整个匹配对象,或者编号为num的特定子组
原文:https://www.cnblogs.com/haili-zheng/p/13932379.html