繁体   English   中英

验证布尔查询-Java

[英]Validate Boolean Query - java

我需要以下逻辑的Java代码段:

以下是一个字符串,我需要根据以下条件验证该字符串:

100200345而不是550 ”-有效字符串

abc200345 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM