Страницы

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

суббота, 8 февраля 2020 г.

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

#регулярные_выражения


Шаблон хочу использовать для проверки на валидность строки вида:
a = 2
a = 2+2
а = 2 +2- 2/ 2 *2 + 2

Длинна строки заранее не известна, но известны разрешенные символы и их порядок.
Я написал написал вот так:
\s*\w+\s*\=\s*\d+[\s*\+|\-|\/|\*\d+]*

Но, такой шаблон захватывает и строки типа:
a = 2 + 
a = 2 ++

Чего я не понимаю, это как строгую последовательность символов сделать группой и
добавить *(ноль или несколько вхождений) для нее, а так же сделать ИЛИ, которое в данном
варианте почему-то не работает.    


Ответы

Ответ 1



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

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

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