arg1.matches("([1-10])") Как туда внутрь проверяемых символов запихнуть римские цифры I,II,III...X?
arg1.matches("([1-10,I,II,III,IV,V,VI,VII,VIII,IX,X])")
Или как допустим проверить является ли введённый символ +-*/
arg1.matches("([+-*/])") ?
Стажёр kotlin
1 уровень
поиск регулярного выражения через matches
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стажёр kotlin
31 мая 2020, 09:49
разобрался через | разделитесь,
а как работать с char?
Char op = in.next().charAt(0);
if (!op.matches("([+|-|*|/])"))
ошибка Error:(17, 24) java: char cannot be dereferenced
0
Стажёр kotlin
31 мая 2020, 10:13
решил работать со строкой
if (!arg1.matches("([1|2|3|4|5|6|7|8|9|10|I|II|III|IV|V|VI|VII|VIII|IX|X])")) throw new InputMismatchException();
if (!oper.matches("([+|-|*|/])")) throw new InputMismatchException();
При вводе 10, II, III и т.д выбрасывает ошибку, как исправить чтобы читалось несколько символов?
0
Стас Пасинков Software Developer в Zipy Master
31 мая 2020, 23:40
я вообще не знаю как у вас эта регулярка заработала :)
поэтому и сложно подсказать как тут и что исправить, потому что исправить стоило бы всю регулярку
почитайте может для начала пару статей про регулярки, про экранирование символов, про спецсимволы, про группировки и группы символов...
а то придется очень много объяснять тут того, что и так уже достаточно в интернете написано
0