我想从以下句子中取出 “别克”。想以 /autoBrand/brandShow ,>,<为特征。
<a href="/autoBrand/brandShow.asp?brandID=93" style="color:#000099;text-decoration:none;">别克</a>   应该用什么正则表达式? 我的测试程序为什么不行?
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegExpTest {
  public static void main(String args[]){
  Pattern p = Pattern.compile("/autoBrand/brandShow[^>]*>([^<]*)<",Pattern.CASE_INSENSITIVE);
  Matcher m = p.matcher("&nbsp;&gt;&gt;&nbsp;<a href=\"/autoBrand/brandShow.asp?brandID=93\" style=\"color:#000099;text-decoration:none;\">别克</a>");
  boolean b = m.matches();
  String brand=null;
  if(b)   brand=m.group(1);
  System.out.println(b);
  System.out.println(brand);
  }
}

解决方案 »

  1.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class RegExpTest {
    public static void main(String args[]) {
    Pattern p = Pattern.compile("/autoBrand/brandShow.*?>(.*?)<",//你的是贪婪模式,可以写成这样
    Pattern.CASE_INSENSITIVE);
    Matcher m = p
    .matcher("&nbsp;&gt;&gt;&nbsp;<a href=\"/autoBrand/brandShow.asp?brandID=93\" style=\"color:#000099;text-decoration:none;\">别克</a>");
    //boolean b = m.matches();//看看文档这个matches是什么意思
    boolean b = m.find();
    String brand = null;
    if (b)
    brand = m.group(1);
    System.out.println(b);
    System.out.println(brand);
    }
    }
      

  2.   

    排版有问题,重发
    ----------------------------
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class RegExpTest {
    public static void main(String args[]) {
        //你的是贪婪模式,这里最好不用贪婪模式
        Pattern p = Pattern.compile("/autoBrand/brandShow.*?>(.*?)
            <",Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher("&nbsp;&gt;&gt;&nbsp;<a href=\"/autoBrand/brandShow.asp?
            brandID=93\" style=\"color:#000099;text-decoration:none;\">别克</a>");
        //boolean b = m.matches();//看看文档这个matches是什么意思
        boolean b = m.find();
        String brand = null;
        if (b) brand = m.group(1);
        System.out.println(b);
        System.out.println(brand);
    }
    }