python正则如何匹配除某个字符串以外的任意字符?

a='....<b>2012<b><b>2033<b>.....'匹配除2012这个字符串以外的任意字符?... a='....<b>2012<b> <b>2033<b>.....'

匹配除2012这个字符串以外的任意字符?
展开
 我来答
徽积分
推荐于2018-01-02 · TA获得超过105个赞
知道答主
回答量:42
采纳率:0%
帮助的人:38.5万
展开全部
首先,「匹配除2012这个字符串以外的任意字符?」语义不明,你是想将其从原字符串中删除还是要匹配2012以外的年份?
姑且认为你的意思是后者,也即在一个特定模式里排除某些匹配的实例。
方法一、先预处理,将要匹配的字符串里的2012替换成不可能出现的字符串,然后再进行匹配处理,最后再将其替换回2012。
方法二、使用不匹配的前向断言 (?! ...):
import re

s = '....<b>0033<b> <b>1033<b> <b>2012<b> <b>2033<b> <b>2043<b> <b>3033<b>.....'
p = re.compile('<b>(?!2012)[0-9]{4}<b>')
for m in re.finditer(p, s):
print m.group()
可以匹配出
<b>0033<b>
<b>1033<b>
<b>2033<b>
<b>2043<b>
<b>3033<b>
而没有'<b>2012<b>'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-10
展开全部
你要的效果是删除2012?

>>> a='....<b>2012<b> <b>2033<b>.....'
>>> import re
>>> re.sub("2012", "", a)
'....<b><b> <b>2033<b>.....'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式