正则表达式简介及正则模块

今日内容总结

  • 正则表达式
  • 正则表达式介绍
  • 字符组
  • 特殊符号
  • 量词
  • 贪婪匹配与非贪婪匹配
  • 转义符
  • 正则模块

今日内容详细

正则表达式

正则表达式介绍

正则表达式一般用来表达筛选字符串内容时所遵从的规则。

字符组

使用'[]'包裹起来的字符串,内部字符串是平级关系,筛选时满足其中任意字符均满足正则。

在表示连续字符时,使用[start-end]的形式表示。

特殊符号

符号 含义
^ 起始标识符
$ 结尾标识符
. 代替除换行符之外所有字符
\d 代替数字
\w 代替数字、字母或下划线
\D 代替非数字
\W 代替非数字、字母或下划线
| 代表左右两者其中一个
() 代表内部数据为一组
[^] 代表内部字符不在筛选范围内

量词

符号 含义
* 重复1次或多次,默认多次
+ 重复1次或多次,默认多次
? 重复0次或1次,默认1次
重复n次
重复n次或多次,默认多次
重复n次或m次,默认m次

量词不可单独使用,且仅影响量词左边紧挨的一个表达式。

贪婪匹配与非贪婪匹配

正则中的量词在不规定匹配次数的情况下,默认匹配多的次数,若要使用非贪婪匹配,需要在表达式结束字符前加上'?',则在匹配时仅匹配一次。

转义符

在匹配时,不加任何修饰的情况下,遇到转义符时,默认匹配转义后的字符,使用'\'取消转义。

一个转义符仅能取消一个转义符的转义功能。

正则模块

re.findall()

返回字符串中所有满足条件的不重复的匹配结果。如果正则表达式中有组,则会返回组内的结果。如果有多个组,则会返回多个组构成的元组。

re.match()

匹配字符串的开头,如果开头符合条件则返回匹配结果(位置信息及匹配的对象),如果不符合则返回None。

re.search()

匹配字符串,如果有满足条件的字符,则返回匹配结果,如果不符合则返回None。

re.sub()

尽可能多的替换字符串中符合正则的字符串,并返回替换后的结果。

re.subn()

替换字符串中指定个数的符合正则的字符串,返回结果为替换后的字符串及替换个数组成的元组。

re.compile()

当需要多次使用某一个正则表达式时,可以使用此方法将该正则表达式定为常参数,使用其他方法匹配。

posted @ 2022-10-27 22:43  Akazukis  阅读(69)  评论(0)    收藏  举报