首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要RTSP的正则表达式

需要RTSP的正则表达式
EN

Stack Overflow用户
提问于 2020-08-04 18:35:54
回答 1查看 611关注 0票数 1

我对regex不太了解。需要帮助!

我有下面的rtsp,需要将它分开

代码语言:javascript
复制
rtsp://user:password@google.com:554/ISAPI/streaming/channels/102

和下面的正则表达式

代码语言:javascript
复制
(rtsp):\/\/(?:([^\s^@\/]+?)[@])?([^\s\/:]+)(?:[:]([0-9]+))?([/\s(.*)])

结果为101 Result

代码语言:javascript
复制
Full match  rtsp://user:password@google.com:554/
Group 1.    rtsp
Group 2.    user:password
Group 3.    google.com
Group 4.    554
Group 5.    / 
  1. 在regex中,我不能允许用户名和密码(组2)中的@字符。
  2. 在第二组中,rtsp可能没有用户名和密码,然后组将为空。例: rtsp://google.com:554/ISAPI/streaming/channels/102
  3. 最后,在第5组,我需要剩余的rtsp。例:/ISAPI/流式/频道/102
EN

回答 1

Stack Overflow用户

发布于 2020-08-04 18:58:23

它的用户名组2:pasword不能是空的,您可以省略它周围的可选非捕获组(?:...)?

否定字符类不必是非贪婪的[^\s@/]+,因为它不能传递@字符。(请注意,[^\s^@\/]也不允许与^/匹配)

如果您想匹配第5组中的"rest“,则可以匹配/,后面是任何字符0+倍(\/.*)

您不必在@:中使用方括号

代码语言:javascript
复制
(rtsp):\/\/([^\s@/]+)@([^\s/:]+)(?::([0-9]+))?(\/.*)

Regex演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63253134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档