python正则表达式(三)
三、re函数
1、match
用途: 将正则表达式模式与字符串开头匹配
示例:
2、fullmatch
用途: 整个字符串与正则表达式完全匹配
示例:
3、search
用途: 查找字符串任意位置的与正则表达式匹配项, 并返回第一个匹配项
示例:
4、sub
用途: re.sub(pattern, repl, string, count=0, flags=0) 用repl替换掉string中被pattern匹配的字符, count表示最大替换次数,flags表示正则表达式的常量
示例:
5、subn
用途: 与re.sub函数功能一致,只不过返回一个元组 (字符串, 替换次数)
示例:
6、split
用途: re.split(pattern, string, maxsplit=0, flags=0) 用 pattern切分string , maxsplit表示最多进行分割次数,flags表示正则表达式的常量
示例:
7、findall
用途: 从字符串任意位置查找所有符合正则表达式的匹配项,返回一个列表
示例:
8、finditer
用途: 从字符串任意位置查找所有符合正则表达式的匹配项,返回一个迭代器
示例:
9、compile
用途: 将正则表达式编译成正则表达式对象
示例:
10、purge
用途: 清除正则表达式缓存
示例:此方法在官方文档里也没有详细描述,只能通过看源码来大致分析一下
- 程序启动, 直接调用re.purge()方法,进入purge函数
发现模块预先编译了170个正则表达式赋给了_cache
- 修改程序重新启动, 调用purge()方法之前先进行一次正则匹配,然后再进入purge方法
发现_cache的长度变成了171, 说明刚才执行的正则匹配使用的正则表达式编译后放入了_cache中
- 执行_cache.clear(), _cache被清空
PS:_compile_repl.cache_clear() 的作用还没有看清楚, 希望了解的同学能不吝赐教,另外以上理解如果有问题,还请批评指正
11、escape
用途: 将字符串中所有可能被解释为正则运算符的字符进行转译
示例: