Тестирование переменной по заданным правилам - PullRequest
0 голосов
/ 11 ноября 2010

Нужно написать быстрый метод static boolean varTest(String id), что тесты ввода действительно являются переменной, основанной на следующих правилах:

переменная :: = знак доллара ($), за которым следует целое число, или любой идентификатор, начинающийся с буквы, за которой следует сочетание букв или цифр.

Где, например, x $ или $ x могут быть переменными без этого теста.

Так что если не правда, я хочу сгенерировать ArithmeticException

1 Ответ

3 голосов
/ 11 ноября 2010

Вы ищете регулярное выражение: $(\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^.

Например:

static Pattern p = Pattern.compile("$(\\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^");
static boolean varTest(String id) {
    return p.matcher(id).matches();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...