我用ckenditor上传图片,在action中获取他的地址存到数据库,采用的是正则表达式匹配,这是正则表达式,但不知道问什么不行,求赐教^.*<img\\s*.*\\s*src=\\\"(.*?)\\\"\\s*.*>.*$

解决方案 »

  1.   

    action中获得的图片地址不是形如<img src=...>这样的
    应该是收到一个文件名字符串和一个包含图片文件数据的File对象
      

  2.   

    用的是ckeditor附带内容传上去的,是一个文章,里面带有图片,然后我需要获取里面的图片
      

  3.   

    String regex1 = "^.*<img[\\s\\S]*src=\"([\\s\\S]*)\"[\\s\\S]*/>[\\s\\S]*";
    Pattern p =Pattern.compile(regex1);
    Matcher m=p.matcher(dizhi);
    while(m.find()){
    String s = m.group(1);//注意 这里是1才能得到图片地址
    System.out.println(s);
    }
      

  4.   

    ^.*<img\\s*.*\\s*src=\\\"(.*?)\\\"\\s*.*>.*$明显后面少了个反斜线 /^.*<img\\s*.*\\s*src=\\\"(.*?)\\\"\\s*\/.*>.*$
      

  5.   

    我的在java工程里测试也好使,但通过ckeditor传上来的就不好使了
    不知道是正则的问题,还是ckeditor的问题
      

  6.   

    String regex = ".*<img[^>]*src=\"([^\"]+)\".*";用这个试试。。String str="sdfdsf<img id=\"20\" style=\"color:red;\" src=\"http://163.com/xx.gif\" style=\"color:red;\"/>dddafsd";
    Pattern pattern = Pattern.compile(regex);
    Matcher match = pattern.matcher(str);
    if(match.matches()){
    System.out.println(match.group(1));
    }