我有以下正则表达式,我通过 xml 文件为 java 提供服务。
[a-zA-Z -\(\) \-]+
此正则表达式用于验证服务器端和客户端(通过 javascript),并且在仅允许字母内容和一些其他字符时效果很好......
我的问题是它还允许零长度字符串/空通过。
有没有人对此有一个简单而优雅的解决方案?
我已经试过了...
[a-zA-Z -\(\) \-]{1,}+
但这似乎不起作用。
干杯!
调查后更新
看来我提供的代码确实有效......
String inputStr = " ";
String pattern = "[a-zA-Z -\\(\\) \\-]+";
boolean patternMatched = java.util.regex.Pattern.matches(pattern, inputStr);
if ( patternMatched ){
out.println("Pattern MATCHED");
}else{
out.println("NOT MATCHED");
}
在仔细研究之后,我认为问题很可能在我的一些 java bean 编码的逻辑中......似乎正则表达式在应该进行字符串解析的地方被删除,从而允许空字符串提交...还有任何其他字符串... EEJIT 我是...
为帮助同行评审我最初的愚蠢而欢呼......!