需求是这样的,匹配所有的.jpg文件,但是1.jpg,2.jpg,...,9.jpg除外,试了几次都没有成功,哪位正则高手指导下正则表达式 不匹配结尾

解决方案 »

  1.   

    [^1-9].jpg$前面是什么匹配自己写。
      

  2.   

    $s = '匹配所有的.jpg文件,但是1.jpg,2.jpg,...,9.jpg除外';
    preg_match('/.*[^1-9]\.jpg/', $s, $r);
    print_r($r);Array
    (
        [0] => 匹配所有的.jpg
    )
      

  3.   

    iasky,
    我主要匹配的是一个URI,有/xxx/xxx1.jpg,/xxx/xxx123.jpg,/xxx/xxx.jpg(x是字母或者数字)。
    除了请求文件是1.jpg,2.jpg,...,3.jpg(即URI是/xxx/1.jpg,/xxx/2.jpg)外,其他情况都需要匹配。你说的这种方法我试了一下,会将/dog1.jpg类似的URI也排除掉
      

  4.   

    自己写了一个,凑合能用:
    .*/[^/][^/]+\.jpg大家看看还有木有更好的写法了,这种写法有点怪异,不仅能过滤1.jpg,还能过滤a.jpg