2024-06-26 正则

import re     匹配字符串

一、基础正则符号

是什么   |   数量  |  贪/非婪

^ \d * ?    ^开始 ?非贪婪

 

二、相关函数

1.re.match()   过滤判断

匹配规则严格   带开头^和结尾?

^\d([a-zA-Z*]*)\d*$

[a-zA-Z]  匹配小写字母和大写字母

2.re.findall ()   抽取

.匹配所有,除了换行符 

+匹配1次或多次

re.S 一次性全部匹配,打印不分开

\d 匹配数字                                     \D匹配非数字

 \w匹配数字、下划线、字母           \W匹配非数字、字母、下划线

\s匹配空白字符,\n、\t、\s             \S匹配非空白字符

[^] 取反                                            [ ]? 没有贪婪含义,表示0次或1次                                


 贪婪 

所有匹配完成后再输出

import re
strs = "chsc^ep\ngcy06\t$uhis; uchs9\thi#suad"
result = re.findall('.+',strs,re.S)  //re.S 一次性全部匹配,打印不分开
print(result)                     ['chsc^ep\ngcy06\t$uhis; uchs9\thi#suad']


result = re.findall('.+',strs)   //遇到换行分开打印
print(result)                    ['chsc^ep', 'gcy06\t$uhis; uchs9\thi#suad']

非贪婪 ?  

只要匹配到就输出

result = re.findall('.+?',strs,re.S)
print(result)

['c', 'h', 's', 'c', '^', 'e', 'p', '\n', 'g', 'c', 'y', '0', '6', '\t', '$', 'u', 'h', 'i', 's', ';', ' ', 'u', 'c', 'h', 's', '9', '\t', 'h', 'i', '#', 's', 'u', 'a', 'd']

3.自定义方法

1.抽取特殊字符

\W和\D一起是或的意思,非字母数字下划线或者非空白字符

result = re.findall('[^\w\s]+',strs,re.S)      
print(result)                             ['^', '$', ';', '#']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值