re正则模块
Posted l1222514
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re正则模块相关的知识,希望对你有一定的参考价值。
一. 正则表达式
正则表达式是对字符串操作的?种逻辑公式. 我们?般使?正则表达式对字符串进行匹配和过滤.
使?正则的优缺点:
优点: 灵活, 功能性强, 逻辑性强.
缺点: 上?难. ?旦上手, 会爱上这个东?
工具: 各?大?本编辑器?般都有正则匹配功能. 我们也可以去http://tool.chinaz.com/regex/进行在线测试.
正则表达式由普通字符和元字符组成
普通字符:包括大小写字母,数字,在匹配普通字符的时候直接写就可以
元字符:元字符才是正则表达式的灵魂,下面介绍几种主要的.
- 字符组--[]
- 简单元字符
. 匹配除换?符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配?个换?符
\t 匹配?个制表符
\b 匹配?个单词的结尾
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配?字?母或数字或下划线
\D 匹配?数字
\S 匹配?空?符
a|b 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了了字符组中字符的所有字符
- 量词
* 重复零次或更多次
+ 重复?次或更多次
? 重复零次或?次
n 重复n次
n, 重复n次或更多次
n,m 重复n到m次
- 惰性匹配和贪婪匹配
4.1 在量词中的*, +, 都属于贪婪匹配. 就是尽可能多的匹配到结果.
4.2 在使用.*后?面如果加了? 则是尽可能的少匹配. 表?示惰性匹配
4.3 .*?x的特殊含义 找到下?个x为?(重点)
- 分组 在正则中使用()进行分组
- 转义 比如r’\n’
二.re模块
re模块是python提供的?套关于处理正则表达式的模块.
核心功能有四个:
- Findall 查找所有返回list
- finditer 和findall差不多,但是返回的是迭代器
- search 搜索 一旦匹配到结果直接返回,匹配不到结果,返回None
- match 匹配 从头开始匹配,开头没有匹配到就报错
以上是关于re正则模块的主要内容,如果未能解决你的问题,请参考以下文章