Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex 正则表达式来标识URL是否为图像?_Regex - Fatal编程技术网

Regex 正则表达式来标识URL是否为图像?

Regex 正则表达式来标识URL是否为图像?,regex,Regex,我得到的URL如下: http://img23.example.com/images/j43j32k3.jpg 我需要确定这两者是否同时存在: a) 从HTTP开始 b) 以JPEG、JPG、GIF或PNG结尾 我正在使用Ruby进行匹配,我只是不知道这一个的正则表达式。以下以/'分隔的正则表达式匹配一个字符串,该字符串以htpp开头,以您问题中指定的一个图像扩展名结尾 /\Ahttp.*(jpeg | jpg | gif | png)\Z/%r{^http://.\(jpeg | jpg |

我得到的URL如下:

http://img23.example.com/images/j43j32k3.jpg
我需要确定这两者是否同时存在:

a) 从HTTP开始

b) 以JPEG、JPG、GIF或PNG结尾


我正在使用Ruby进行匹配,我只是不知道这一个的正则表达式。

以下以/'分隔的正则表达式匹配一个字符串,该字符串以htpp开头,以您问题中指定的一个图像扩展名结尾


/\Ahttp.*(jpeg | jpg | gif | png)\Z/

%r{^http://.\(jpeg | jpg | gif | png)$}i

OP,图像URL是否具有GET参数(在这种情况下,此正则表达式需要更复杂)?您是否总是在单个URL上执行匹配(如果不是,则此正则表达式必须是非贪婪的。*?,而不是。*)?您是否需要捕获生成图像的特定脚本,例如gen.php?name=pic1?此外,您还需要使用i标志启用大小写不敏感。我希望一次分析一个URL,以获得图像的绝对链接。使用i标志的正则表达式(如Adam所述,用于大小写不敏感)符合您指定的要求。如果您的要求包括未指定的内容,请注明。谢谢这样做的好处是检查http://以确保它确实是一个URL,并且它以.gif结尾以确保它确实是一个扩展--另外它不区分大小写,因此它与.gif等内容匹配。