我喜欢编写一个Java实用程序方法,该方法在指定的查询字符串中为paramName返回paramValue
Pattern p = Pattern.compile("\\&?(\\w+)\\= (I don't know what to put here) ");
public String getParamValue(String entireQueryString, String paramName)
{
Matcher m = p.matcher(entireQueryString);
while(m.find()) {
if(m.group(1).equals(paramName)) {
return m.group(2);
}
}
return null;
}
我将从我的servlet调用此方法,
String qs = request.getQueryString(); //action=initASDF&requestId=9078-32&redirect=http://www.mydomain.com?actionId=4343
System.out.println(getParamValue(qs, "requestId"));
输出应为9078-32
最佳答案
您可以使用正则表达式取反的组。请参阅另一个SO问题:Regular Expressions and negating a whole character group
您需要获取除&
以外的所有内容。