<a href="xxxxxxxxxxxxxxxxx">test</a><a href="zzzzzzzzzzzzzzzzzzzz">中文</a>表达式:<a href=\"(.*?)\">[\u4e00-\u9fa5]</a>我使用 group(1)时的结果是xxxxxxxxxxxxxxxxx">test</a><a href="zzzzzzzzzzzzzzzzzzzz,我只想要zzzzzzzzzzzzzzzzzzzz,请问各位应该如何解决阿。

解决方案 »

  1.   


    public static void main(String[] args) {
    String str = "<a href=\"xxxxxxxxxxxxxxxxx\">test</a><a href=\"zzzzzzzzzzzzzzzzzzzz\">中文</a>";
    Matcher m = Pattern.compile("href\\s*=\\s*\"([^>]*)\"").matcher(str);
    while (m.find()) {
    System.out.println(m.group(1));
    }
    }
      

  2.   

    String s = "<a href=\"xxxxxxxxxxxxxxxxx\">test</a><a href=\"zzzzzzzzzzzzzzzzzzzz\">中文</a>";
    Pattern p = Pattern.compile("<a href=\"((?:(?!</a>).)*)\">[\u4e00-\u9fa5]");

    Matcher m = p.matcher(s);
    while (m.find()) {
    System.out.println(m.group(1));
    }
      

  3.   


    public static void main(String[] args) {
            String str = "<a href=\"xxxxxxxxxxxxxxxxx\">test</a><a href=\"zzzzzzzzzzzzzzzzzzzz\">中文</a>";
            Matcher m = Pattern.compile("href\\s*=\\s*\"([^>]*)\"[^<>]*>[\u4e00-\u9fa5]+</a>").matcher(str);
            while (m.find()) {
                System.out.println(m.group(1));
            }
        }
      

  4.   

    嘿嘿,给分吧!import java.util.regex.*;
    public class HttpRegex 
    {
    public static void main(String[] args) 
    {
    String s = "<a href=\"xxxxxxxxxxxxxxxxx\">test</a><a href=\"zzzzzzzzzzzzzzzzzzzz\">中文</a>";
    Pattern p = Pattern.compile("<a href=\"([a-zA-z]+)\">\\W+</a>");//Regex
    Matcher m = p.matcher(s);
    if(m.find()){
    System.out.println(m.group());//<a href="zzzzzzzzzzzzzzzzzzzz">中文</a>
    System.out.println(m.group(1));//zzzzzzzzzzzzzzzzzzzz
    }
    }
    }
      

  5.   

    <a href=\"([^<>/]*)\">(?=[\u4e00-\u9fa5])