希望在一行包含下载地址的字符串中找到下载地址 String source = "http:\\djfshgdfhgwma";             //s2+s1;
Pattern p = Pattern.compile("http\\:\\w+\\.wma"); 
Matcher m = p.matcher(source); 

while (m.find()) {
System.out.println("Match \"" + m.group() + "\" at positions "
+ m.start() + "-" + (m.end() - 1));可是没有结果请问为何 ? 如何处理后缀中的点号 ?谢谢

解决方案 »

  1.   

    正则表达式中  < > = , .这些有固定的匹配符号么 ?
      

  2.   

    Pattern p = Pattern.compile("http:\\\\\\\\\\w+\\.wma");
    另外,你那个String source = "http:\\djfshgdfhgwma";             
    是不是少了个"."
      

  3.   

    有两个地方不对,我改了一下:String source = "http:\\\\djfsh\\gdfhg.wma"; // s2+s1;
    Pattern p = Pattern.compile("http:\\\\.*.wma");四个"\\\\" 表示 \\
      

  4.   

    修正一下 Pattern p = Pattern.compile("http:\\\\.*.wma");
    应该是Pattern p = Pattern.compile("http:\\\\.+.wma");