正则表达式:[jpg|jpeg|png|bmp|gif]*是什么意思

$str='<p>32323223<imgsrc="/Upload/image/ueditor/20180222/1519283654325793.jpg"title="1519283654325793.jpg"alt="beian.jpg"/></p>';
//这个正则表达式中“[jpg|jpeg|png|bmp|gif]*”这个部分是什么意思?
$preg='/\/Upload\/image\/ueditor\/\d*\/\d*\.[jpg|jpeg|png|bmp|gif]*/i';
preg_match($preg,$str,$data);
var_dump($data);//这里能匹配出jpg等后缀结果如下:array(1){[0]=>string(51)"/Upload/image/ueditor/20180222/1519283654325793.jpg"}
//但是正则中[]中括号内的字符,应该只能匹配所包含的任意一个字符的啊,为什么能把jpg整个匹配出来?
HUX布斯
浏览 457回答 2
2回答

慕码人8056858

$preg='//Upload/image/ueditor/d/d.[jpg|jpeg|png|bmp|gif]*/i';这个是正则是以'/Upload/image/ueditor/'开始的,d*是指多次匹配数字,就是匹配一段数字,[jpg|jpeg|png|bmp|gif]*是指匹配这个后缀多次,可以是jpg,也可以是jpgjpg
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript