re模块的正则表达式规则

什么是正则表达式?

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。换句话说,正则表达式是一种用来描述字符串模式的工具。它使用一些特殊的符号和规则来匹配、查找或替换字符串中的特定部分。

python的re模块提供了许多特殊符号来构建正则表达式:详见官网https://docs.python.org/3.12/library/re.html

1. 定位符,指定字符串中特定的位置

字符 描述
^ 匹配字符串的开始位置
$ 匹配字符串的结束位置
\b 匹配一个单词边界,即单词与空白字符之间的位置
\B 匹配非单词边界

注:不能将限定符与。。。一起使用

2.非打印字符(特殊序列):格式为\character,如果character不是ASCII数字或ASCII字母,则生成的re将匹配第二个字符,例如\$匹配字符$

字符 描述
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\s 匹配任何一个空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v]
\S 匹配任何一个非空白字符
\t 匹配一个制表符,等价于\x09和\cI
\v 匹配一个垂直制表符,等价于\x0b和\cK
\cx  
\w 匹配字母、数字、下划线,等价于[A-Za-z0-9_]

3.特殊字符,用于匹配重复的模式、选择模式或组合模式

字符 描述
. 匹配除换行符以外的所有字符
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} 匹配前面的子表达式恰好n次
{n,} 匹配前面的子表达式至少n次
{n,m} 匹配前面的子表达式至少n次,但不超过m次
posted @ 2024-09-25 16:47  松鼠q  阅读(4)  评论(0编辑  收藏  举报