比如一个字符串如:...<img src='file:///F:\imges\1.jpg'></img>...
我想用正则表达式匹配<img src='file:///.....</img>。这个这个中间的省略号怎么写合适呢?
请各位高手帮一下忙!谢谢。在线等......

解决方案 »

  1.   

    正则表达式能不用就不用吧....用String摘掉脑袋和尾巴就行了....
      

  2.   

    就是说:用str.substring(0,18)掐头用"<img src='file:///".equsel()去比较两颗脑袋;用String.lastIndexOf("</img>"))获取尾巴的索引i用substring(i,str.lenth()+i)去尾用"</img>".equsel()比较两根尾巴;如果脑袋和尾巴都是地球的,那str肯定也是地球的....
      

  3.   

    可是如果我要匹配的字符串是“<img   src='file:///F:\imges\1.jpg'> </img><table><tr><img   src='file:///F:\imges\2.jpg'> </img>...<img   src='file:///F:\imges\3.jpg'> </img>”.就是说要把含多个<img>这样的字符串都找出来。你的方法也可以实现吗
      

  4.   

    "要比较的字符串".matches("<img src='file://.+'>")
      

  5.   

    如果是我我就这么取 表达式 String pattern = "(^(<img (src=//w)?>)+//w+(</img>)$)";
    Pattern pattern = Pattern.compile(pattern);
    Matcher matcher = pattern.matcher(str);
    while(matcher.find()){
       System.out.println(matcher.group());
    }
      

  6.   

    用这吧!
    Pattern pattern =Pattern.compile(".*?<img[\\s\n]* src=[\\s\n]*[\"|\']?file:///([^\"']+?)[\"|\']?[/]?>");
      

  7.   

    回5楼,可以的,lastIndexOf循环掐头去尾不过复杂了就用正则吧...尽量不用不代表不用....同7楼的,我正则小白...
      

  8.   

    刚发现,String的split()方法可以根据正则拆String....貌似很强大...
      

  9.   

    因为楼主的匹配是反复出现的,可以用split配合正则试试看....