Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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
Php Laravel正则表达式与JPG不工作的Url匹配_Php_Regex_Validation_Laravel_Match - Fatal编程技术网

Php Laravel正则表达式与JPG不工作的Url匹配

Php Laravel正则表达式与JPG不工作的Url匹配,php,regex,validation,laravel,match,Php,Regex,Validation,Laravel,Match,我在匹配一个用于laravel的正则表达式验证的正则表达式。 验证url是否以jpg/gif/png文件结尾 /(http | https):\/\/(www.)?[\w-\.]+\.[a-zA-Z]+\/(([\w-\/]+)\/)?[\w-\.]+\.(png$gif$;jpe?g$)/ig 但是当我放入代码时,它会抛出一个preg_match():找不到结尾分隔符“/”错误 这是我的验证规则 $rules = [ 'title' =>

我在匹配一个用于laravel的正则表达式验证的正则表达式。 验证url是否以jpg/gif/png文件结尾

/(http | https):\/\/(www.)?[\w-\.]+\.[a-zA-Z]+\/(([\w-\/]+)\/)?[\w-\.]+\.(png$gif$;jpe?g$)/ig
但是当我放入代码时,它会抛出一个
preg_match():找不到结尾分隔符“/”错误

这是我的验证规则

$rules  = [
            'title'             => 'required|min:3',
            'description'       => 'required|min:3',
            'url'               => 'required|regex:/(http|https):\/\/(www\.)?[\w-_\.]+\.[a-zA-Z]+\/((([\w-_\/]+)\/)?[\w-_\.]+\.(png$|gif$|jpe?g$))/ig',
          ];
如前所述,Laravel
定界符与regex替换
冲突

中考虑的正则表达式

required|regex:/(http|https)...
/(http
,因此缺少结尾分隔符

似乎您可以通过使用(我冒昧地清理了您的正则表达式中的一些内容)来解决此问题:


如果Laravel同意使用不同于
/
的分隔符,我还建议使用其他分隔符(
~
)为了减轻
\/

的麻烦,在删除
g
修饰符后,您的代码对我来说运行良好。@AvinashRaj,我仍然遇到了错误。我得到了try find相同的情况,但仍然遇到了错误,不确定laravel regex验证格式/语法是如何工作的。对它来说仍然是新的。我重新编写了文档,解释了很多。使用start和正则表达式中的结束锚定符
^(http | https):\/\/(www\)?[\w-\.]+\.[a-zA-Z]+/(([\w-\/]+)\/)?[\w-\.]+\.(png$\gif$;jpe?g$)$
使用不同的delimeter,比如说
'url' => array('required', 'regex:/(https?):\/\/(www\.)?[\w.-]+\.[a-zA-Z]+\/((([\w\/-]+)\/)?[\w.-]+\.(png|gif|jpe?g)$)/ig')