如何在Python中使用正则表达式检测特定URL?
我尝试编写一个正则表达式,以检查URL中是否有楼层、电梯和层数(知道名称和层数可以更改) URL如下所示:如何在Python中使用正则表达式检测特定URL?,python,regex,Python,Regex,我尝试编写一个正则表达式,以检查URL中是否有楼层、电梯和层数(知道名称和层数可以更改) URL如下所示: 我也开始写这段代码,但我不知道如何解决我的问题 import re def is_http_url(s): if re.match('https?://(?:www)?(?:[\w-]{2,255}(?:\.\w{2,6}){1,2})(?:/[\w&%?#-]{1,300})?',s): return True else: re
我也开始写这段代码,但我不知道如何解决我的问题
import re
def is_http_url(s):
if re.match('https?://(?:www)?(?:[\w-]{2,255}(?:\.\w{2,6}){1,2})(?:/[\w&%?#-]{1,300})?',s):
return True
else:
return False
print is_http_url("https://www.mywebsite.com/root/floor-a-1-50/")
提前谢谢
https?://(?:www)?(?:[\w.-]{2,255}(?:\.\w{2,6}){1,2})(?:/[\w&%?#-]{0,300})*
您需要调整您的正则表达式以接受1个以上的/aasd
组。请参阅演示
同时将正则表达式放入r
中,以避免逃避问题
re.match(r'https?://(?:www)?(?:[\w.-]{2,255}(?:\.\w{2,6}){1,2})(?:/[\w&%?#-]{0,300})*',s)
您需要调整您的正则表达式以接受1个以上的/aasd
组。请参阅演示
同时将正则表达式放入r
中,以避免逃避问题
re.match(r'https?://(?:www)?(?:[\w.-]{2,255}(?:\.\w{2,6}){1,2})(?:/[\w&%?#-]{0,300})*',s)
用
r''
声明正则表达式模式。另外,也许这正是您需要的:?您是在任意文本中搜索URL,还是已经有URL并想要验证它?如果是这样,您可以简化任务,只需检查最后一个路径段,这将大大简化正则表达式(或者可能将任务分为两部分-识别URL和验证找到的URL)。我在任意文本中搜索URL,并尝试检查最后一个路径段。谢谢,我用r''
检查此选项声明正则表达式模式。另外,也许这正是您需要的:?您是在任意文本中搜索URL,还是已经有URL并想要验证它?如果是这样,您可以简化任务,只检查最后一个路径段,这将大大简化正则表达式(或者可能将任务分为两部分-URL识别和找到的URL验证)。我在任意文本中搜索URL,并尝试检查最后一个路径段。谢谢,我选中此选项