public static void main(String[] args)
{ String str = "http://localhost:8080/sshframework/param/queryParamData.action?vpar=2012-8-17-10-26-16-0.40798535273884656&status=&pageNo=1&dtsNo=&versionNo=&pageSize=10&dateEnd=&dateBegin=&applyPerson=¶mType=&";
String str1 = "http://localhost:8080/sshframework/param/queryParamData.action?";
String reg = "/(\\w+)(/\\w+)(\\.action)(\\?vpar)";
Pattern p = Pattern.compile(reg);
Matcher mt = p.matcher(str);
Matcher m = p.matcher(str1);
String nameSpace = "";
if (mt.find())
{
nameSpace = mt.group(1);
}
System.out.println(nameSpace);
if (m.find())
{
System.out.println(m.group(1));
}
}上面是 我改进的一个正则表达式,但是达不到要求、 我需求是:
当有.action?vpar的时候 不取param这个字符串,并且返回为空字符串。
当只有.action的时候取param 。 并且返回这个字符串。
{ String str = "http://localhost:8080/sshframework/param/queryParamData.action?vpar=2012-8-17-10-26-16-0.40798535273884656&status=&pageNo=1&dtsNo=&versionNo=&pageSize=10&dateEnd=&dateBegin=&applyPerson=¶mType=&";
String str1 = "http://localhost:8080/sshframework/param/queryParamData.action?";
String reg = "/(\\w+)(/\\w+)(\\.action)(\\?vpar)";
Pattern p = Pattern.compile(reg);
Matcher mt = p.matcher(str);
Matcher m = p.matcher(str1);
String nameSpace = "";
if (mt.find())
{
nameSpace = mt.group(1);
}
System.out.println(nameSpace);
if (m.find())
{
System.out.println(m.group(1));
}
}上面是 我改进的一个正则表达式,但是达不到要求、 我需求是:
当有.action?vpar的时候 不取param这个字符串,并且返回为空字符串。
当只有.action的时候取param 。 并且返回这个字符串。
public static void main(String[] args) { String str = "http://localhost:8080/sshframework/param/queryParamData.action?vpar=2012-8-17-10-26-16-0.40798535273884656&status=&pageNo=1&dtsNo=&versionNo=&pageSize=10&dateEnd=&dateBegin=&applyPerson=¶mType=&";
String str1 = "http://localhost:8080/sshframework/param/queryParamData.action?";
String reg = "/(\\w+)(/\\w+)(\\.action\\?)$";
Pattern p = Pattern.compile(reg);
Matcher mt = p.matcher(str);
Matcher m = p.matcher(str1);
String nameSpace = "";
if (mt.find()) {
nameSpace = mt.group(1);
}
System.out.println(nameSpace); if (m.find()) {
System.out.println(m.group(1));
} }
这个意思?
大概是这个。 但是
String str1 = "http://localhost:8080/sshframework/param/queryParamData.action?";
上面的字符串如果末尾没有?(问号) 那得出的数据就不对了? 最好在?vpar= 来判断。 因为这是一个标识, 有些链接没有这个标识但也要取出param(这个字符串)。