正则表达式模式总是在glassFish上返回false

时间:2012-09-27 14:05:53

标签: regex glassfish

我有一个适用于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+"))$)";
}

我在http://www.mkyong.com/regular-expressions/how-to-validate-image-file-extension-with-regular-expression/

上使用此正则表达式

2 个答案:

答案 0 :(得分:3)

你需要重复一下

Pattern p = Pattern.compile("[a-z]+");

如果您使用*代替+,即使您与空字符串进行比较,它也会匹配。

答案 1 :(得分:2)

[a-z]只匹配a到z中的一个字符,添加+会匹配一个或多个

[a-z]+

添加*匹配任意数量的包括无。

[a-z]*