我有以下REGEX,我通过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我是......
尽管在同行评审我最初的愚蠢的帮助,干杯......!
答案 0 :(得分:2)
你试过这个:
[a-zA-Z -\(\) \-]+