为了账号安全,请及时绑定邮箱和手机立即绑定

匹配所有有效的 RTSP URL,带认证的 URL 规范是什么?

匹配所有有效的 RTSP URL,带认证的 URL 规范是什么?

蝴蝶刀刀 2023-04-11 15:24:02
我当前的正则表达式如下所示r"rtsp://\w+:\w+@[\w\.-]+":我的编程语言是 Python。然而,有些 URL 看起来像这样,但无法匹配:rtsp://admin:fjs!hfk@my-cam.fritz.box/xxx/yyyy/1?transportmode=unicast我可以将正则表达式更改为r"rtsp://\w+:[\w!]+@[\w\.-]+"匹配!. 我不关心 URL 的结尾 ( /xxx/yyyy/1?transportmode=unicast)我的问题是是否有规范<user>,<password>和<hostname>可以是什么类型的字符?因为我可能无法匹配所有内容。我一直在向 中添加字符,\w但我不想继续进行快速修复,例如我是如何!向密码和-主机.名中添加的。有人可以@在密码中输入 a 吗?我也需要处理它。我将在稍后阶段添加提取用户、密码和主机名的捕获组。
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

不要在这里乱用正则表达式,它已经为你完成了:


from urllib.parse import urlparse

obj = urlparse('rtsp://admin:fjs!hfk@my-cam.fritz.box/xxx/yyyy/1?transportmode=unicast')

print(obj)

这产生


ParseResult(scheme='rtsp', netloc='admin:fjs!hfk@my-cam.fritz.box', path='/xxx/yyyy/1', params='', query='transportmode=unicast', fragment='')

现在,您可以只使用属性:


print(obj.netloc)

# admin:fjs!hfk@my-cam.fritz.box



查看完整回答
反对 回复 2023-04-11
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信