繁体   English   中英

正则表达式只检查一次出现字符“?”的URL,也检查特定图像格式之后的URL

[英]Regex to check url with only one occurrence of character “?” and that too after specific image formats

我想进行验证以检查图像URL,以便只出现一次“?”。 以及特定的图像格式之后。

https://img1.com/1.jpeg: valid

https://img2.com/16.png?bg=0: valid

https://img3.com/15.jpg?bg=0&wmi=n : valid

https://img4.com/1?2.jpg?bg=0&wmi=n : invalid (two ? in url)

https://img5.com/12.jpg??bg=0&wmi=n : invalid (two ? in url)

https://img6.com/1.xyz: invalid (jpg|png|gif|jpeg only supported)

同样,图像格式可以是jpg | png | gif | jpeg。

我尝试使用

\.(?i)(jpg|png|gif|jpeg)(?=\?|$) 

哪个工作正常,但不能检测到多个“?”

如果您只想与有效网址匹配,则可以使用以下表达式

(?i)/([^?]*?)\.(png|jpe?g|gif)\??(?!\?)

它匹配所有有效的URL,但不匹配所有无效的URL。

怎么样:

\.(?i)(jpg|png|gif|jpeg)(?:\?[^?]+)?$ 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM