需要URL的正则表达式

时间:2017-08-01 13:01:53

标签: javascript regex vb.net

我在VB中有以下正则表达式

(http[s]?|rtsp|qvmc|rtmp)://(([^/:\.[:space:]]+(\.[^/:\.[:space:]]+)*)|([0-9](\.[0-9]{3})))(:[0-9]+)?((/[^?#[:space:]]+)(\?[^#[:space:]]+)?(\#.+)?)?

和我有的网址:

rtsp://root:admin@192.0.0.0/axis-media/media.amp?videocodec=h264&audio=1>rtsp_transport=udp_multicast>recordingfilename=c:\folder\recfile.mp4

无法通过上述正则表达式传递匹配,任何人都可以建议正则表达式中的错误。

1 个答案:

答案 0 :(得分:1)

您的正则表达式在@之前没有与用户名和密码匹配的内容 虽然您的URL有用户名和密码,但它不匹配。

不要在.NET中使用像[:space:]这样的POSIX character class

此模式还将捕获用户名和密码:

(https?|rtsp|qvmc|rtmp):\/\/(?:([^\s@\/]+?)[@])?([^\s\/:]+)(?:[:]([0-9]+))?(?:(\/[^\s?#]+)([?][^\s#]+)?)?([#]\S*)?