Python - 正则表达式忽略<>中的任何内容

时间:2017-03-07 10:51:51

标签: python regex

我有一个正则表达式,可以在http://www.test.com中获取body这样的网址,这是电子邮件的内容。

但是,也可以使用以下格式的网址:<http://www.test.com>我正在尝试编辑以下正则表达式,以忽略这些符号中的任何内容<>

url = re.search('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', body)

1 个答案:

答案 0 :(得分:2)

如果您坚持使用RegEx执行此操作,则可以使用negative lookbehind完成此操作:

(?<!<)

因此,完整的正则表达式将如下所示:

(?<!<)http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+