public static void main(String[] args) {
String a="http://sp.cqcoal.com/sell/show.php&&&itemid=11202";
     String b="http://sp.cqcoal.com/sell/show.php&&&itemid=\\d*";
     System.out.println(a.matches(b));
     if (a.matches(b)) {
               System.out.println("messi");
}else {
      System.out.println("ronaldo");
}
}
输出结果为:true  messi但是在网页上调用一个方法,代码跟main函数一样,传的值也是一样。打印调试验证过,可是matches方法却得到是false!!!无语了,求救。

解决方案 »

  1.   

    你网页上写的是 JS 么?JS的语法略有不同的。网页是啥样的代码,贴出来看看。
      

  2.   

    没有写js,就网上抓取两个链接,跟main方法里面的一样,可是matches方法却得到是false
      

  3.   

    把网页上的内容从System.out中完整显示出来看看吧。网页上很多信息,由于HTML转码问题,跟你所设想的未必一致。
      

  4.   

    后台输出的,然后赋值到main方法里面执行的,结果返回的true,可是调用方法里if进不去,输入matches方法却得到是false。
      

  5.   

    在main方法里,调试一下,具体看a、b的值倒底是什么。
    也许抓过来的地址有空格,或者编码的问题。
      

  6.   

    页面上传过来的&符号可能会被转码(encode)的,所以要还原(decode)才能匹配的
    或者直接把页面的&转义