2012-09-27 27 views
1

我有一个适用于tomcat的工作正常。今天,我试图把它放在玻璃鱼上。 部署失败,因为在我的应用程序中使用的1个正则表达式总是在glassfish的服务器上返回false,但在tomcat上工作正常。 我已经尝试了这种简单的模式来进行测试:正则表达式总是在玻璃上返回falseFish

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/

回答

3

你需要重复设置

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

如果使用*这个表达式它将与前夕相匹配,而不是+如果你比较空字符串。

+0

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

2

[A-Z]匹配从A到Z只有一个字符,加入到+它将匹配的一个或多个

[a-z]+ 

添加*匹配任何数目的包括空的。

[a-z]*