Регулярное выражение для проверки выражения интеграции (исчисление) - PullRequest
1 голос
/ 07 марта 2012

Я разрабатываю программу на Java, которая найдет интеграцию данной функции.например, cos (x + 3x ^ 2). Теперь я хочу проверить, правильно ли введен пользователь. Есть ли какое-либо регулярное выражение, которое мы можем использовать при проверке достоверности ввода?Например, ввод всегда должен начинаться со знака интегрирования и заканчиваться на dx. Я хочу регулярное выражение, которое будет охватывать такие случаи, как cos (cos (x + 5)) и т. д.

1 Ответ

4 голосов
/ 07 марта 2012

Вы не можете использовать регулярные выражения для проверки всего, что требует подсчета: оно недостаточно мощное.Теоретически невозможно использовать регулярные выражения для более простой задачи проверки, если круглые скобки в строке сбалансированы.

Вам необходимо создать синтаксический анализатор для ваших выражений.Подойдет простой анализатор сверху вниз, или вы можете использовать генератор синтаксических анализаторов, такой как ANTLR или JavaCC.Вы также можете использовать один из доступных языков выражений с открытым исходным кодом для своего проекта.

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