python从后向前匹配_python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解...

本文详细介绍了Python中正则表达式的前后向搜索以及前向搜索否定模式。通过实例展示了如何使用(?=pattern)进行前向搜索,确保匹配内容的一致性,以及使用(?!pattern)进行前向搜索否定,忽略特定模式的匹配。文章通过电子邮件地址匹配的例子,加深了读者对这些概念的理解。
摘要由CSDN通过智能技术生成

前言

在许多的情况下,很多要匹配内容是一起出现,或者一起不出现的。比如《》,< >,这样的括号,不存在使用半个的情况。因此,在正则表达式里也有一致性的判断,要么两个尖括号一起出现,要么一个也不要出现。怎么样来实现这种判断呢?针对这种情况得引入新的正则表达式的语法:(?=pattern),这个语法它会向前搜索或者向后搜索相关内容,如果不会出现就不能匹配。不过,这个匹配不会消耗任何输入的字符,它只是查看一下。

例子如下:

#python 3.6

#蔡军生

#http://blog.csdn.net/caimouse/article/details/51749579

#

import re

address = re.compile(

'''''

# A name is made up of letters, and may include "."

# for title abbreviations and middle initials.

((?P

([\w.,]+\s+)*[\w.,]+

)

\s+

) # name is no longer optional

# LOOKAHEAD

# Email addresses are wrapped in angle brackets, but only

# if both are present or neither is.

(?= (<.>$) # remain

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值