Страницы

Поиск по вопросам

воскресенье, 14 апреля 2019 г.

Регулярное выражение для проверки на валидность строки

Шаблон хочу использовать для проверки на валидность строки вида: a = 2 a = 2+2 а = 2 +2- 2/ 2 *2 + 2 Длинна строки заранее не известна, но известны разрешенные символы и их порядок. Я написал написал вот так: \s*\w+\s*\=\s*\d+[\s*\+|\-|\/|\*\d+]* Но, такой шаблон захватывает и строки типа: a = 2 + a = 2 ++ Чего я не понимаю, это как строгую последовательность символов сделать группой и добавить *(ноль или несколько вхождений) для нее, а так же сделать ИЛИ, которое в данном варианте почему-то не работает.


Ответ

Я бы посоветовал предварительно вырезать все пробелы, так как от них больше вреда, чем пользы и написать выражения для конечной строки:
\w+=\d+([\+\/\*\-]\d+)*

Комментариев нет:

Отправить комментарий