Atopos

导航

正则表达式

正则表达式

image

1.定义

利用一些特殊符号的组合去字符串中筛选出符合条件的数据

2.相关组成部分

image

2.1字符组

2.1.1特征
是使用中括号[]括起来的 字符串默认只能单个单个字符匹配

2.1.2表现形式
如下:
[0123456789] # 匹配0到9之间任意一个数字

[0-9] # 也可以简写

[A-Z] # 匹配大写字母A-Z任意一个字母

[a-z] # 匹配小写字母a-z任意一个字母

[a-zA-Z0-9] # 匹配所有数字 字母小写大写

2.2特殊符号

image

2.2.1特征
特殊符号默认也只能单个单个字符匹配

2.2.2种类

.		匹配除换行符以外的任意字符
\d		匹配数字
^		匹配字符串的开始
$		匹配字符串的结尾
a|b		匹配字符串a或字符b
()		匹配括号内的表达式也表示一个组
[...]	匹配字符中的字符
[^...]	匹配除了字符组中字符的所有字符

PS:^与$组合使用可以精准限制要查找的数据

2.3量词

image

2.3.1表达式在没有量词修饰的情况下 都是单个匹配

2.3.2量词必须结合(字符串、特殊符号等)一起使用 不能单独出现

2.3.3量词只能影响前面的表达式(如ab+ 只能影响b)

2.3.4种类

*	重复零次或更多次
+	重复一次或更多次
?	重复零次或一次
{n}	重复n次或更多次
{n,m}	重复n到m次

2.3.5注意
正则表达式中的量词默认都是"贪婪匹配"

image

3.贪婪匹配与非贪婪匹配

3.1贪婪匹配
贪婪匹配 尽可能多的匹配
<.*>

3.2非贪婪匹配
非贪婪匹配 尽可能少的匹配 结束条件由左右两边决定
<.*?>
将贪婪变为非贪婪 只需要在量词后面加问号?即可

4.取消转义

在原生的正则表达式中取消转义推荐使用(每个\只能取消一个字符的转义)
在python中取消转义推荐使用r'\n\a\t'(也可以使用)

image

posted on 2021-11-24 16:17  Atopos_q  阅读(4)  评论(0编辑  收藏  举报