#java #регулярные_выражения
Ожидание: строка содержит или 1 или 2 числа, строка не может начаться с 0 Пробую так: "^[1-9]\\d{1,2}&" - не подходит Пробую так2: ^[^0]\\d{1,2}& - не подходит (числа 12, 9, 33 и др не принимаются) Что я делаю не так? по литературе [^pattern] должно исключить вхождение, а где ^-& должно проверить строгое вхождение чисел
Ответы
Ответ 1
строка содержит или 1 или 2 числацифр, строка не может начаться с 0 Рекомендую использовать ^[1-9]\\d?$ Это выражение находит строки из 1-й или 2-х цифр, не начинающиеся с 0. Демо ^ - начало строки [1-9] - 1 цифра от 1 до 9 (0 исключен) \\d? - 1 или 0 цифр $ - конец строки NB: При использовании String.matches метасимволы ^ и $ не требуются.Ответ 2
[1-9]?[0-9] Первая цифра ([1-9]) входит не обязательно (?), вторая ([0-9]) обязательно. "Строгое совпадение" обозначается как ^...$ (а не &), но в Java принято использовать вместо этого метод Matcher.matches()Ответ 3
Для строки из чисел ^[1-9][0-9]*$ Для строки из цифр ^[1-9][0-9]?$Ответ 4
Вы немного перепутали метасимвол конца строки (знак доллара, $) с амперсандом (амперсанд, &). После небольшого исправления все должно взлететь: "^[1-9]\\d{1,2}$"Ответ 5
на ext js делал так regex: /^[1-9]{1,2}$/,
Комментариев нет:
Отправить комментарий