码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式之优美匹配,视前匹配,视后匹配 (?x)(?=) (?=)

时间:2018-02-07 21:19:56      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:com   返回   reg   pytho   size   port   探讨   连接   例子   

接着昨天的内容今天探讨,优美匹配和视前和视后匹配

1.格式化匹配

import re

reg = r‘‘‘(?x)(\d{4})?  #匹配前四个 支持注释        
            (-)?
            (\d{8})
‘‘‘
num = 0571-88982571, 0572-05975867,057269781578, 0539-66862954, 56788888
pat = re.findall(reg, num)
#print(pat)

for each in pat:
    print(‘‘.join(each))#连接

>>>
0571-88982571
0572-05975867
057269781578
0539-66862954
56788888

2.视前匹配 查找匹配项,但匹配项不显示在结果中,而是返回(?=)前面的匹配项

import re

reg = r.+(?= ming lili)
s = ‘‘‘ hello ming lili python
 welcome to home ming lili java
 hello python
 xxio
‘‘‘
pat = re.findall(reg, s)
print(pat)

>>>
[‘ hello‘, ‘ welcome to home‘]

3.视后匹配 没搞明白,上个例子

import re 
reg = r\s+(?!ming|lily)(\w+)
s =‘‘‘
    sales@hello.com
    ming@qq.com
    python@wexin.com
    lily@hello.com
   ‘‘‘
pat = re.findall(reg, s)
print(pat)
>>>
[‘\nhello‘, ‘world‘, ‘welcome‘, ‘to‘, ‘home ‘]

 

正则表达式之优美匹配,视前匹配,视后匹配 (?x)(?=) (?=)

标签:com   返回   reg   pytho   size   port   探讨   连接   例子   

原文地址:https://www.cnblogs.com/Zhu-Xueming/p/8428182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!