Подтвердить логический запрос - Java - PullRequest
0 голосов
/ 20 марта 2010

Мне нужен фрагмент кода Java для приведенной ниже логики:

Ниже приведена строка, и мне нужно проверить строку на основе следующего условия:

" 100 или 200 и 345 not 550 " - допустимая строка

" abc или 200 и 345 ЖЕ **** **** 550" - недопустимая строка

1. операнды (например, 100,200 ..) должны быть положительными числами 2 оператор должен быть и / или / не

Thx

Ответы [ 2 ]

2 голосов
/ 20 марта 2010

Для этого можно использовать регулярные выражения в 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.");
    }
}
1 голос
/ 20 марта 2010

Регулярное выражение, вероятно, самый простой метод:

"100 or 200 and 345 not 550".matches("^[1-9][0-9]*( (or|and|not) [1-9][0-9]*)*$")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...