刚接触正则表达式,求救~!
用正则表达式与String.split方法,从"http://www.sohu.com/login.jsp?user=abc&pass=123"这样的URL地址中提取出每个参数的名称和值 并要对?进行转义处理. 

解决方案 »

  1.   

    pass bys.indexOf("?")
    ???还是不太明白
      

  2.   

    用split的算法:
     int i = url.indexOf("?");
     String param = url.substring(i +1);
     
     String[] parameters = param.split("&");
     
     List parameterName = new ArrayList();
     List parameterValue = new ArrayList();
     
     int len = parameters.length;
     for (int m=0; m<len; m++)
     {
     String[] nameAndValue = parameters[m].split("=");
     if (nameAndValue.length == 1)
     {
     parameterName.add(nameAndValue[0]);
     parameterName.add("");
     }
     if (nameAndValue.length == 2)
     {
     parameterName.add(nameAndValue[0]);
     parameterName.add(nameAndValue[1]);
     }
     }
      

  3.   

    String url = "http://www.sohu.com/login.jsp?user=abc&pass=123";
    String regex = "(.+)\\?(.+)\\&(.+)";
    String x = "";
    String y = "";
    String z = "";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(url);
    while(m.find()){
    x = m.group(1);
    y = m.group(2);
    z = m.group(3);
    }
    System.out.println(x+"\n"+y+"\n"+z);
    输出的结果是:
    http://www.sohu.com/login.jsp
    user=abc
    pass=123