我有这个正则表达式(Java / JavaScript)
/(http|ftp|https):\/\/([\w+?\.\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\-\\=\\+\\\\\/\\?\\.\\:\\;\\'\\,]*\.(?:jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|bmp|BMP|tiff|TIFF))?/
但是似乎这样的URL出现了问题:
您认为我的表达中缺少什么?我想接受有效的图片网址。
您的表达式在我使用(regex101.com)测试的验证器中对我有用,但是,它匹配为3个单独的捕获组。要将其全部捕获为单个匹配项,只需将整个语句包装在一组括号中即可。
注意:要清楚,有更简单的方法来执行此操作,但是要回答OP提出的特定问题,这将使它们的语句与提供的链接相匹配。
((http|ftp|https):\/\/([\w+?\.\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\-\\=\\+\\\\\/\\?\\.\\:\\;\\'\\,]*\.(?:jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|bmp|BMP|tiff|TIFF))?)