python中利用正则表达式的删除特定字符的问题

匹配"&&"或"||",要求其前或后必须是空白或前面是等号或前或后是"&&""||"本身举几个例子"=&&aaaa"中的"&&""aaaa&&||bbbb"中的"&&||... 匹配"&&"或"||",
要求其前或后必须是空白
或前面是等号
或前或后是"&&""||"本身

举几个例子
"= && aaaa"中的"&&"
"aaaa && || bbbb"中的"&& ||"
"bbbb || "中的"||"

总之就是把前或后没有表达式的&&或||给删掉
而且只把&&或||本身删除,不能影响aaaa或bbbb

注意最好先把符合条件的&&删掉,
然后再把符合条件的||删掉,如果删掉&&后,||不符合条件了(前后都有表达式了,就比如上面第2个例子)那就不用删
我现在遇到的问题是这样的
import re
p1 = re.compile(r'(&&|=|(\|\|))\s*&&')
p2 = re.compile(r'&&\s*(&&|(\|\|)|\s*$)')
用这个式子,在notpad++里识别&&是没问题的,但python似乎不认- -
另外就是替换不会只把&&给替换掉,求解决办法。
&&解决了,||也一样
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
johnsonick
推荐于2017-12-15 · 超过18用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:47.6万
展开全部
你是怎么弄的?
p1.sub(r'\1\2', txt)
p2.sub(r'\1\2', txt)
吗?

我稍微试了一下,好像没问题
追问
差不多
p2 = re.compile(r'(&&|=|(?:\|\|))\s*&&')
p3 = re.compile(r'&&\s*(&&|(?:\|\|)|\s*$)')
p2.sub(r'\1',txt)
p3.sub(r'\1',txt)
还有之前不能匹配是我自己搞错了,用p2.match了而没用p2.search
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式