排除带有正则表达式的匹配项

时间:2020-03-13 05:42:49

标签: python regex

嗨,我有一个可以用python regex识别的模式,但我想返回匹配项以外的所有内容

使用此功能,我可以提取字符串的年份

def stripyear(string):
    p_year = re.compile('[2][0][0-9][0-9][0-1][0-9][0-3][0-9]')
    ym = p_year.findall(string)
    return ''.join(ym)

所以stripyear('UTMSIRGAS200020150409')将返回'20150409',但我希望它返回

'UTMSIRGAS2000'  

即相反

我尝试了此模式'\b(?!([2][0][0-9][0-9][0-1][0-9][0-3][0-9])\b)\w+',如果here中的模式之前有空格,它会起作用,但是python不喜欢它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用re.sub替换为空字符串:

re.sub("[2][0][0-9][0-9][0-1][0-9][0-3][0-9]", "", input)