我有一个正则表达式,可以在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)
答案 0 :(得分:2)
如果您坚持使用RegEx执行此操作,则可以使用negative lookbehind完成此操作:
(?<!<)
因此,完整的正则表达式将如下所示:
(?<!<)http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+