[英]Validate Boolean Query - java
我需要以下逻辑的Java代码段:
以下是一个字符串,我需要根据以下条件验证该字符串:
“ 100或200和345而不是550 ”-有效字符串
“ abc或200和345 SAME **** 550”-不是有效的字符串
1。 操作数(例如100,200 ..)应为正数2。 操作员应该是和/或/不是
谢谢
您可以使用Java中的正则表达式来做到这一点。
您可以尝试以下方法:
public static void main(String[] args) throws Exception {
String test = "1212 and 120 or 390";
Pattern p = Pattern.compile("^\\d+(\\s(and|or|not)\\s\\d+)*$");
Matcher m = p.matcher(test);
if (m.matches()) {
System.out.println("Valid!");
} else {
System.out.println("Invalid.");
}
}
正则表达式可能是最简单的方法:
"100 or 200 and 345 not 550".matches("^[1-9][0-9]*( (or|and|not) [1-9][0-9]*)*$")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.