Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript URL需要正则表达式_Javascript_Regex_Vb.net - Fatal编程技术网

Javascript URL需要正则表达式

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

我在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

无法通过与上述正则表达式的匹配,是否有人可以建议正则表达式中的错误。

您的正则表达式在@之前没有与用户名和密码匹配的内容。
而您的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
,并忽略后面的内容。