灵虚御风
醉饮千觞不知愁,忘川来生空余恨!

导航

 

"""正则"""

re模块与正则表达式之间的关系
正则表达式不是Python独有,它是一门独立的技术
所有的编程语言都可以使用正则
但是如果你想要的在Python中使用,你就必须依赖于re模块

正则就是用来筛选字符串中特定内容的

书:正则指引

正则的应用场景
1.爬虫
2.数据分析

只要是reg... 一般都与正则有关

1.相匹配具体的内容
可以直接写完整的内容,不需要写正则

字符组[]
一个字符串里面表达式都是或的关系
[0-9]和[0,1,2,3,4,5,6,7,8,9]一个意思 都是在一个字符组里枚举合法的所有字符,字符组里任意一个 字符和"待匹配字符"相同都视为可以匹配
[a-z] 匹配所有的小写字母
[A-Z] 匹配所有的大写字母
[0-9a-zA-Z] 匹配所有数字0-9和所有小写字母和所有大写字母

^与$符连用 会精准限制匹配的内容
两种中间写什么 匹配的字符串就必须是什么,多一个或少一个都不行

abc|ab 一定要将长的放在前面

^ 直接写在外面 限制字符串的开头
[^] 除了 []写的字符其他都要

正则匹配的时候,默认都是贪婪匹配(尽量匹配多的)
非贪婪匹配(惰性匹配) 在量词后面+? 就可以

量词必须跟在正则符号后面
量词只能限制紧挨着他的那一个正则符号

分组:当多个正则符号需要重复多次的时候或者当做一个整体进行其他操作,可以用分组的形式
分组在正则语法就是()


元字符
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
\b 匹配一个单词的结尾
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配非字母或数字或下划线
\S 匹配非空白符
\D 匹配非数字
a|b 匹配字符a或者b
() 匹配括号内的表达式
[...] 匹配字符组中的字符
[^...] 匹配除字符组中字符

量词:
* 重复 0次或更多次
+ 重复 1次或更多次
? 重复 零次 或一次
{n} 重复n次
{n,} 重复n次或者更多次
{n,m} 重复n次到m次









posted on 2022-03-24 16:40  没有如果,只看将来  阅读(21)  评论(0编辑  收藏  举报