RegExp для проверки формулы (математическое выражение с соответствующими скобками)? - PullRequest
5 голосов
/ 25 мая 2010

Я использовал regExp quit несколько раз, но до сих пор далеко не эксперт. На этот раз я хочу проверить формулу (или математическое выражение) с помощью regExp. Сложной частью здесь является проверка правильности начальных и конечных скобок в формуле.
Я полагаю, что в сети был бы какой-то образец, но я не смог его найти. Может кто-нибудь выложить ссылку на такой пример? или помочь мне каким-то другим способом?

Ответы [ 2 ]

5 голосов
/ 25 мая 2010

Языки с совпадающими вложенными скобками не являются обычными языками и поэтому не могут быть распознаны регулярными выражениями. Некоторые реализации регулярных выражений (например, в .NET Framework) имеют расширения для решения этой проблемы, но работать с ними действительно неинтересно. Поэтому я предлагаю использовать доступный парсер или реализовать простой парсер самостоятельно (ради забавы).

Расширение в реализации .NET см. В MSDN о балансировочных группах .

3 голосов
/ 25 мая 2010

Если ваше математическое выражение включает в себя совпадающие вложенные скобки, то это не обычная грамматика, а контекстно-свободная, поэтому ее невозможно проанализировать с помощью регулярных выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...