正则表达式
正则的语法:使用元字符进行排列组合用来匹配字符串
在线测试正则表达式https://tool.oschina.net/regex/
一,常用元字符
| 字符 | fuction |
|---|---|
| . | 匹配除换行符外的任意单个字符 |
| \d | 匹配任意数字,等价于 [0-9] |
| \D | 匹配任意非数字 |
| \w | 匹配字母、数字、下划线 |
| \W | 匹配非单词字符(非字母、数字、下划线) |
| \s | 匹配空白符(空格、制表符等) |
| \S | 匹配非空白符 |
二,字符集合与范围
| 字符集合范围 | fouction |
|---|---|
| [abc] | 匹配其中任意一个字符 |
| [^abc] | 匹配除括号内字符外的任意字符 |
| [a-z] | 匹配小写字母范围 |
| [0-9] | 匹配数字范围 |
| [a-zA-Z0-9] | 混合使用 |
三,量词(重复次数)
| 量词 | fuction |
|---|---|
| * | 重复0次或多次 |
| + | 重复1次或多次 |
| ? | 重复0次或1次 |
| {n} | 精确重复n次 |
| {n,} | 重复至少n次 |
| {n,m} | 重复n到m次 |
四,贪婪与惰性字符
五,正则表达式在python中的使用
使用正则表达式之前需要导入re模块,且模块中有以下函数
1 | import re |
| 函数 | 功能 |
|---|---|
| compile | 函数将正则表达式模式编译成一个正则表达式对象,之后可以反复使用该对象的方法,效率更高 |
| match | match函数从字符串的起始位置匹配模式,如果起始位置不匹配则返回 None,成功则返回匹配对象(Match object)。 |
| search | search函数在字符串中搜索第一个匹配的位置,返回匹配对象;如果没找到则返回 None。 |
| findall | findall函数返回字符串中所有非重叠匹配的列表。如果有多个捕获组,则返回元组列表。 |
| finditer | finditer函数返回一个迭代器,每次迭代产生一个匹配对象,适合处理大量匹配。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hello World!
