本帖最后由 草帽路飞UU 于 2022-10-20 17:23 编辑
01 概念
如果要处理的文件比较简单,直接使用字符串匹配就可以了,如下:
那么使用字符串匹配的python代码:
def find_start_re(fname):
f = open(fname,'r')
for line in f:
if line.startswith('re'):
print(line)
f.close()
find_start_re('re.txt')
执行结果:
单个处理数据和文本,效率不高,不适合数据量大的场景,正则表达式可以解决处理数据量大的情况。
正则表达式概念:
模块re使用的过程:
使用举例: 1.
2.
3.匹配时忽略大小写,增加re.I
4.正则表达式语法
+的用法:匹配合理的变量名(必须以‘_’或者字母开头)
?用法:匹配0-99的数字
{m}/{m,n}的用法:匹配合理的126邮箱(@126.com之前是6到10位字符)
*?/+?/??的用法:
5、正则表达式进行边界匹配
6、正则表达式进行分组匹配
| 的用法:匹配0-99的数字
(ab)的用法:
\<number>的用法:处理xml文件时会经常用到 <book>python</book>
(?P<name>)、(?P=name)的用法:
03 re的其他方法
因为re模块的match方法是从头开始匹配的,当需要匹配字符串中的子串的时候就不好用了。
search方法:
匹配字符串中的数字 'study python = 1000'
findall方法:
sub方法:
参数repl有两种方式,一种是本身就是字符串,一种是函数,取函数返回的字符串
split用法:
|