今日内容总结
- 正则表达式
- 正则表达式介绍
- 字符组
- 特殊符号
- 量词
- 贪婪匹配与非贪婪匹配
- 转义符
- 正则模块
今日内容详细
正则表达式
正则表达式介绍
正则表达式一般用来表达筛选字符串内容时所遵从的规则。
字符组
使用'[]'包裹起来的字符串,内部字符串是平级关系,筛选时满足其中任意字符均满足正则。
在表示连续字符时,使用[start-end]的形式表示。
特殊符号
符号 | 含义 |
---|---|
^ | 起始标识符 |
$ | 结尾标识符 |
. | 代替除换行符之外所有字符 |
\d | 代替数字 |
\w | 代替数字、字母或下划线 |
\D | 代替非数字 |
\W | 代替非数字、字母或下划线 |
| | 代表左右两者其中一个 |
() | 代表内部数据为一组 |
[^] | 代表内部字符不在筛选范围内 |
量词
符号 | 含义 |
---|---|
* | 重复1次或多次,默认多次 |
+ | 重复1次或多次,默认多次 |
? | 重复0次或1次,默认1次 |
{n} | 重复n次 |
{n,} | 重复n次或多次,默认多次 |
{n,m} | 重复n次或m次,默认m次 |
量词不可单独使用,且仅影响量词左边紧挨的一个表达式。
贪婪匹配与非贪婪匹配
正则中的量词在不规定匹配次数的情况下,默认匹配多的次数,若要使用非贪婪匹配,需要在表达式结束字符前加上'?',则在匹配时仅匹配一次。
转义符
在匹配时,不加任何修饰的情况下,遇到转义符时,默认匹配转义后的字符,使用'\'取消转义。
一个转义符仅能取消一个转义符的转义功能。
正则模块
re.findall()
返回字符串中所有满足条件的不重复的匹配结果。如果正则表达式中有组,则会返回组内的结果。如果有多个组,则会返回多个组构成的元组。
re.match()
匹配字符串的开头,如果开头符合条件则返回匹配结果(位置信息及匹配的对象),如果不符合则返回None。
re.search()
匹配字符串,如果有满足条件的字符,则返回匹配结果,如果不符合则返回None。
re.sub()
尽可能多的替换字符串中符合正则的字符串,并返回替换后的结果。
re.subn()
替换字符串中指定个数的符合正则的字符串,返回结果为替换后的字符串及替换个数组成的元组。
re.compile()
当需要多次使用某一个正则表达式时,可以使用此方法将该正则表达式定为常参数,使用其他方法匹配。
标签:字符,匹配,正则表达式,简介,转义,正则,字符串 From: https://www.cnblogs.com/akazukis/p/16834306.html