正则表达式(re)

正则表达式(re)

1. 什么是正则则表达式?

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本( 具体详细内容,小云就不废话了。)

2. 正则的作用?
他的作用很多,小云作为一个爬虫小菜鸟,特别喜欢用他来采一些xpath很难弄到的数据,通过和一些后端大佬和前端大佬的交流,他们一般来规定客户的手机号,身份证,邮箱以及自定义一些规则让客户更好的查到自己所需的内容。等等,具体还有什么作用,小云还是大佬们去度娘一下下0.0。


3. 废话少说,上正则元字符(特殊字符)

字符解释
\转义字符,将后边紧跟着的字符变成特殊字符,或将后边的特殊字符变成普通字符
如:在正则表达式中,"\n"换行符,"\\"则代表一个普通字符"\"
^匹配第一行行首,匹配多行需要传参 flags=re.MULTILINE
$匹配最后一行行尾,匹配多行需要传参 flags=re.MULTILINE
.除"\r""\n"外,匹配任意的单个字符,要使"."匹配换行符,flags=re.DOTALL
|或,如 "aaa|bbb|ccc",表示"aaa","bbb","ccc"三选一
?匹配前边的子表达式0次或1次,等价于{0,1}
+匹配前边的子表达式1次或多次,等价于{1,}
*匹配前边的子表达式0次或多次,,等价于{0,}
{}{n}匹配前边的子表达式n次,{n,}匹配前边的子表达式至少n次 即:>= n,{n,m}匹配前边的子表达式n~m次,即:n<= 表达式 <=m
()分组,从1开始,从左至右数"("为第几组,下标0为全部分组
[]字符集匹配[]中的人一个字符,之匹配一次,如[abc]:表示"a","b","c"三选一。也可以给定范围(必须是连续的才行),如[a-z]:表示a到z任意一个字符。
小云比较喜欢(.*?)贪婪匹配,他主要是内匹配在内的一切东西(除\r\n)

4. 正则元方法(匹配单个字符)

字符解释
\d匹配数字: [0-9]
\D匹配非数字:[^\d]
\s匹配所有空格
\S匹配所有的非空格:[^\s]
\f匹配一个换页符
\n匹配一个换行符
\r匹配一个回车:Enter
\t匹配一个制表符
\v匹配一个垂直制表符
\p匹配 CR/LF(等同于 \r\n),用来匹配 DOS 行终止符

5. 正则的模式修饰符

简写解释
g查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个,也可以指定匹配
eg:text="你很聪明" ,我只想要“你” “聪明”
就可以这样:text="(.*?)很(.*?)"用text="\g<1>很\g<2>"
注意:由于匹配的全部文章,必须有几个(.*?)就匹配几个\g<>,里面的数字代表第几个
i表示匹配的时候不区分大小写,这个跟其它语言的正则用法相同
m表示多行匹配。什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值