我需要以下逻辑的java代码片段:
以下是一个字符串,我需要根据以下条件验证字符串:
“ 100 或 200 且 345 不 550 ” - 有效字符串
“ abc 或 200 和 345 相同**** 550” - 不是有效字符串
1。操作数(例如100,200 ..)应为正数 2。操作员应该和/或/不是
THX
答案 0 :(得分:2)
您可以在Java中使用regular expressions来执行此操作。
哟可以试试这个: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.");
}
}
答案 1 :(得分:1)
正则表达式可能是最简单的方法:
"100 or 200 and 345 not 550".matches("^[1-9][0-9]*( (or|and|not) [1-9][0-9]*)*$")