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似乎不认- -
另外就是替换不会只把&&给替换掉,求解决办法。
&&解决了,||也一样 展开
要求其前或后必须是空白
或前面是等号
或前或后是"&&""||"本身
举几个例子
"= && aaaa"中的"&&"
"aaaa && || bbbb"中的"&& ||"
"bbbb || "中的"||"
总之就是把前或后没有表达式的&&或||给删掉
而且只把&&或||本身删除,不能影响aaaa或bbbb
注意最好先把符合条件的&&删掉,
然后再把符合条件的||删掉,如果删掉&&后,||不符合条件了(前后都有表达式了,就比如上面第2个例子)那就不用删
我现在遇到的问题是这样的
import re
p1 = re.compile(r'(&&|=|(\|\|))\s*&&')
p2 = re.compile(r'&&\s*(&&|(\|\|)|\s*$)')
用这个式子,在notpad++里识别&&是没问题的,但python似乎不认- -
另外就是替换不会只把&&给替换掉,求解决办法。
&&解决了,||也一样 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
你是怎么弄的?
p1.sub(r'\1\2', txt)
p2.sub(r'\1\2', txt)
吗?
我稍微试了一下,好像没问题
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询