Skip to main content
 首页 » 编程设计

用于检测除某些域之外的所有 url 的 Python 正则表达式

2024年08月25日27del

我有这个检测所有 url 的 python 正则表达式:

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

但我需要从检测中排除 youtube 和 vimeo url。我能做什么?

请您参考如下方法:

您可以使用 negative look-ahead :

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

查看演示 https://regex101.com/r/jB7tN3/1