我有一个适用于tomcat的应用程序。今天,我试着把它放在玻璃鱼上。 该deploiement失败,因为在我的应用程序中使用的1个正则表达式总是在glassfish的服务器上返回false,但在tomcat上工作正常。 我尝试过这个简单的测试模式:
Pattern p = Pattern.compile("[a-z]");
Matcher m = p.matcher("toto");
System.out.println(m.matches());
此测试失败。 任何解决方案?
我有这种模式在glassfish的服务器上失败
public static boolean isPatternValid(String pattern, String string){
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(string);
return m.matches();
}
public static String patternExtension(String extension){
return "([^\\s]+(\\.(?i)("+extension+"))$)";
}
上使用此正则表达式
答案 0 :(得分:3)
你需要重复一下
Pattern p = Pattern.compile("[a-z]+");
如果您使用*
代替+
,即使您与空字符串进行比较,它也会匹配。
答案 1 :(得分:2)
[a-z]只匹配a到z中的一个字符,添加+会匹配一个或多个
[a-z]+
添加*匹配任意数量的包括无。
[a-z]*