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

Regex 在glassFish上,正则表达式模式总是返回false,regex,glassfish,Regex,Glassfish,我有一个在tomcat上运行良好的应用程序。今天,我试着把它放在玻璃鱼身上。 开发失败,因为我的应用程序中使用的1个正则表达式在glassfish的服务器上总是返回false,但在tomcat上工作正常。 我已经尝试了这个简单的测试模式: Pattern p = Pattern.compile("[a-z]"); Matcher m = p.matcher("toto"); System.out.println(m.matches()); 这个测试失败了。 有解决办法吗 我的模式在glass

我有一个在tomcat上运行良好的应用程序。今天,我试着把它放在玻璃鱼身上。 开发失败,因为我的应用程序中使用的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+"))$)";
}

我在

上使用这个正则表达式,您需要重复设置

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

如果使用
*
而不是
+
,则即使与空字符串进行比较,它也会匹配。

您需要重复设置

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

如果使用
*
而不是
+
,即使与空字符串进行比较,它也会匹配。

[a-z]只匹配a到z之间的一个字符,向其中添加+将匹配一个或多个字符

[a-z]+
添加*匹配任意数量的,包括无

[a-z]*

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

[a-z]+
添加*匹配任意数量的,包括无

[a-z]*

哦,该死,我怎么能忘记这件事^^。但我的问题仍然存在。哦,该死,我怎么能忘记这件事^^。但我的问题仍然存在。