正则 不是时间开头的接到上一行_正则表达式详解(二)

       前篇我们主要说了正则表达式特殊语义字符,与字符相关的正则表达式,以及与次数相关的正则表达式,这篇继续来汇总与边界相关、与组相关的正则表达式。以及控制标记。

20b1e042f2ed5254e3259db5930ce7bf.png

(三)边界相关的内容

1、“^”匹配字符串的开头

默认匹配第一行,如果需要匹配多行,则需要添加re.mutiline,比如说:王张三,非以张开头,他就匹配不到。

760e0cec45f1823f6a581128f4f70a2d.png

而张三,则是以张开头,既可以匹配成功。

e66f60b55d5da8339a9b496e9d1e500b.png

2、$ 匹配的时候从后往前匹配,默认匹配最后一行,如果希望支持多行,可以添加控制标记re.multiline比如经常在\.(com$|cn$)

a2ee1ecc23d39509c7a14722d4c501a9.png

5b5f5b7305da66f93c5fca71dd9adf72.png

(四)组相关的内容

1、(),作用有两个,一是对括号内的内容进行整体操作。

不加括号会把标签一起读取出来。

41a3c940714b0a051feebfb3b41a302d.png

加上括号后,只把需要的内容作为一个整体取了出来

902c5b363814a9454e874ab9dbee6ff0.png

二是分组,分组提取,可以对括号中的内容使用group来进行单独提取,group()参数代表提取第几个括号(从1开始)

比如提取电话号码中的区号和电话号,1来取区号,2来取电话号。

c7ee63785fc8a8531de54793cc32edcc.png

2、\number用来指定组序号,序号从1开始,用来匹配对应分组的内容

因为在正则表达式中有特殊字符,所以建议在双引号前加上r,表示后面的双引号中的字符串原样输出

14f1961a8c2cc7e5bb94390459461540.png

需求:希望获取的内容是成对的标签中的内容

3、| 或者,连接两个正则表达式,代表或者匹配前边的正则表达式,或者匹配后边的正则表达式,不是只针对|两边的字符有效,是针对|两侧的整个正则表达式有效

c9f5280ec38c82719326e23670e631a8.png

4841209b573e9484670b612b2512be76.png

如果只针对两边的字符有效,需添加括号,如:

ece5a2d2a3964bde246ad9d01ca110ae.png

控制标记

re.DOTALL    用来代表是否忽略.中的\n

ee6373090bfbd71553ece45049795598.png

re.MULTILINE   在判断边界。设置支持多行

b4d719647d8d9fad3f6b894f5cab5ca3.png

re.IGNORECASE  忽略大小写

a6b0809fc915de807c10648a88bfffc4.png

07bffc6f0ff8fc1554c4e0427f8790f3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值