在html里面把<a ... href="url" ... >替换成<a ... href="newUrl?address=url" ... >

解决方案 »

  1.   

    String str = "<a ... href="url" ... >";
          String regEx="url";        Pattern p=Pattern.compile(regEx);        Matcher m=p.matcher(str);
            String s=m.replaceAll("newUrl?address=url");
      

  2.   

    (<a\s+([^>h]|h(?!ref\b))*href=")([^"]*)("[^>]*>)
    ==> $1newUrl?address=$3$4代码如下:String pat = "(<a\\s+([^>h]|h(?!ref\\b))*href=\")([^\"]*)(\"[^>]*>)";
    String html = "aaaa<a jfkdfd d fds sa href=\"sssss\" fds afjdslfd >   aaa<a href=\"aaa\">";System.out.println(html.replaceAll(pat, "$1newUrl?address=$3$4"));
      

  3.   

    结果:aaaa<a jfkdfd d fds sa href="newUrl?address=sssss" fds afjdslfd >   aaa<a href="newUrl?address=aaa">
      

  4.   

    str = str.replaceAll("href=\\\".+\"","href=newURL");
      

  5.   

    在我写的那个表达式中,$2 代表中间那个“([^>h]|h(?!ref\b))*”匹配的部分;实际上这部分内容被包含在 $1 之中的。
      

  6.   

    (<a\s+([^>h]|h(?!ref\b))*href=")((?!http://)[^"]*)("[^>]*>)代码:
    String pat = "(<a\\s+([^>h]|h(?!ref\\b))*href=\")((?!http://)[^\"]*)(\"[^>]*>)";其他的一样。