Javascript URL需要正则表达式
我在VB中有一个正则表达式Javascript URL需要正则表达式,javascript,regex,vb.net,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>rt
(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
无法通过与上述正则表达式的匹配,是否有人可以建议正则表达式中的错误。您的正则表达式在@之前没有与用户名和密码匹配的内容。
而您的URL有用户和密码,因此不匹配 不要在.NET中使用类似的
[:space://code>
此模式还将捕获用户名和密码:
(https?|rtsp|qvmc|rtmp):\/\/(?:([^\s@\/]+?)[@])?([^\s\/:]+)(?:[:]([0-9]+))?(?:(\/[^\s?#]+)([?][^\s#]+)?)?([#]\S*)?
.NET正则表达式引擎不支持POSIX字符类。尝试用\s
替换所有[:space://code>,这对我不起作用。我面临的实际问题是匹配“>”字符,这部分给出了错误>rtsp_transport=udp_multicast。我应该做什么修改来匹配URL末尾的>字符。@PradeepKumar是否希望在XML中的“?”之后使用该捕获?在这种情况下,你可能需要用'''替换那些'> '>。例如,您可以在“>”上拆分像“.xxx>yyy>zzz”这样的字符串以获得一个数组。还可以选择将
添加到负字符类中,以获得?
后面的内容。也就是说,[?][^\s#>]+
那么正则表达式将只匹配您的示例,直到&audio=1
,并忽略后面的内容。