正则表达式中实现逻辑关系和/或/and/or关系

2019-07-04  本文已影响0人  佑岷

AND 表达规则: (?=match this expression)(?=match this too)(?=oh, and this),(有换行的数据无法匹配,需要将换行符转为文本or去掉)

OR 表达式:(match this expression)|(match this too)|(or this)

例如:

TXr\n\r\n\r\n\r\n亲,快登录吧,能够浏览更多精彩内容哦!\r\n您需要 登录 才可以下载或查看,没有帐号?注册 \r\n\r\n\r\n\r\n\n\n\n\n\n\n\r\n\r\nx\r\n\r\nhi,卡窗论坛的新盆友们,大家好,我是卡窗论坛管理员@我不会咕咕叫 ,大家喜欢叫我“咕咕”欢迎你来到卡窗论坛呦。\r\n不管你是玩卡多年的资深卡友,还是刚刚接触信用卡的小白,或者正在挑选第一张信用卡的新人,既然来到这里,咱们就以卡会友咯,共同交流玩卡、审核、养卡的经验,学习分享玩卡知识和技巧,一起玩转优惠,一起守护好我们的征信哦。\r\n\r\n好啦,卡窗新人们,现在就一起来跟帖报道吧。\r\n\r\n\r\n跟帖形式,可以包含以下信息中的一项或者多项:\r\n1、卡窗社区昵称\r\n2、玩卡年限\r\n3、持有信用卡的数量/额度\r\n4、玩卡目的(根据个人情况,比如薅羊毛、提额、兑换积分里程……)平安\r\n5、说说你最钟爱的信用卡E

正则表达式的逻辑表达(and or):(((?=.(TX|大1家))(?=.(平安))(?=.(亲)).)|(昵称|目的))
上表达式由四部分组成:A. (TX|大1家) B. (平安) C. (亲) D. (昵称|目的)
逻辑关系是:(A and B and C) or D

代码如下:

#-*-coding:utf-8 -*-
import re
s = r'TXr\n\r\n\r\n\r\n亲,快登录吧,能够浏览更多精彩内容哦!\r\n您需要 登录 才可以下载或查看,没有帐号?注册 \r\n\r\n\r\n\r\n\n\n\n\n\n\n\r\n\r\nx\r\n\r\nhi,卡窗论坛的新盆友们,大家好,我是卡窗论坛管理员@我不会咕咕叫 ,大家喜欢叫我“咕咕”欢迎你来到卡窗论坛呦。\r\n不管你是玩卡多年的资深卡友,还是刚刚接触信用卡的小白,或者正在挑选第一张信用卡的新人,既然来到这里,咱们就以卡会友咯,共同交流玩卡、审核、养卡的经验,学习分享玩卡知识和技巧,一起玩转优惠,一起守护好我们的征信哦。\r\n\r\n好啦,卡窗新人们,现在就一起来跟帖报道吧。\r\n\r\n\r\n跟帖形式,可以包含以下信息中的一项或者多项:\r\n1、卡窗社区昵称\r\n2、玩卡年限\r\n3、持有信用卡的数量/额度\r\n4、玩卡目的(根据个人情况,比如薅羊毛、提额、兑换积分里程……)平安\r\n5、说说你最钟爱的信用卡E'
#s = 'www.runoob.com'

#mt = u'((TX|撸卡|姿势|大机|积分|神器|捡漏|漏洞|境外提额|提额技术|提额教程|黑科技|代还|代刷|口子|放水) and (旅游白|平安)) or (境外提额|信用卡代还|境外刷卡)'

r='(((?=.*(TX|大1家))(?=.*(平安))(?=.*(亲)).*)|(昵称))'
for i in re.search(r, s, re.I|re.M).groups():
    print i
上一篇下一篇

猜你喜欢

热点阅读