var str = "abc  123456abcabc12345.jpg";
var r = str.match(/(abc){1}.+?\.jpg{1}/g);//我需要提取abc12345.jpg
WScript.echo(r.join("\r\n"))//输出的却是"abc  123456abcabc12345.jpg"
请问这个正则应该怎么写?  提取的串只能有一次abc和.jpg

解决方案 »

  1.   

    abc 和 jpg 是固定的吗?
      

  2.   

    那还不好写呀  (abc\d+\.jpg)
      

  3.   

    // 我需要提取 abc12345.jpg
    var str = "abc  123456abcabc12345.jpg";
    var r = /abc(?!.*abc.*).+?\.jpg/g;
    console.log( str.match(r) )
      

  4.   


    这个貌似只能匹配一次var str = "abc  123456abcabc12345.jpgxxxxxxxxxabckksjdjasabcuuuuu.jpgsdasda";
    var r = str.match(/(abc).+?(\.jpg)/g);
    WScript.echo(r.join("\r\n"))//我的方法匹配的是abc  123456abcabc12345.jpg和abcuuuuu.jpg但我需要取的是abc12345.jpg和abcuuuuu.jpg使用您的方法只能取到最后一个, 我希望的是把所有匹配的取出来var str = "abc  123456abcabc12345.jpgxxxxxxxxxabckksjdjasabcuuuuu.jpgsdasda";
            var r = /abc(?!.*abc.*).+?\.jpg/g;
            console.log( str.match(r) )
      

  5.   

    var str = "abc  123456abcabc12345.jpgjjijiojiohuihabcdasds.jpg6327ufhsdufhusdabcdsadsa.jpg";
    var strs=str.substring(3,str.length);
     var r = /abc[^.]+\.jpg/g;
     console.log( strs.match(r) );