加班,求救。java中matches 请帮忙

安心逍遥 2012-07-29 11:25:37
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!!!

无语了,求救。
...全文
258 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarkAnkh 2012-07-29
  • 打赏
  • 举报
回复
有没有可能是转义的问题?
brightyq 2012-07-29
  • 打赏
  • 举报
回复
在main方法里,调试一下,具体看a、b的值倒底是什么。
也许抓过来的地址有空格,或者编码的问题。
MiceRice 2012-07-29
  • 打赏
  • 举报
回复
不把实际信息打印出来,没法进一步分析了。。。
安心逍遥 2012-07-29
  • 打赏
  • 举报
回复
后台输出的,然后赋值到main方法里面执行的,结果返回的true,可是调用方法里if进不去,输入matches方法却得到是false。
MiceRice 2012-07-29
  • 打赏
  • 举报
回复
把网页上的内容从System.out中完整显示出来看看吧。

网页上很多信息,由于HTML转码问题,跟你所设想的未必一致。
安心逍遥 2012-07-29
  • 打赏
  • 举报
回复
没有写js,就网上抓取两个链接,跟main方法里面的一样,可是matches方法却得到是false
MiceRice 2012-07-29
  • 打赏
  • 举报
回复
你网页上写的是 JS 么?JS的语法略有不同的。

网页是啥样的代码,贴出来看看。
qybao 2012-07-29
  • 打赏
  • 举报
回复
页面上传过来的&符号可能会被转码(encode)的,所以要还原(decode)才能匹配的
或者直接把页面的&转义

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧