Мне приходилось использовать регулярные выражения только несколько раз в работе, которую я сделал. Однако в те несколько раз я обнаружил очень мощную форму выражения, которая позволила бы мне сделать некоторые чрезвычайно полезные вещи.
Проблема в том, что язык, используемый для регулярных выражений, неверен - полная остановка.
Это неправильно с психологической точки зрения - использование бестелесных символов дает полезную ссылку только тем, у кого есть эйдетическая память. Хотя синтаксические правила четко изложены, из моего опыта и того, что я узнал от других, развитие регулярного выражения, которое успешно функционирует, может оказаться трудной задачей во всех, кроме самых тривиальных ситуациях. Это понятно, так как это символический аналог теории множеств, что довольно сложно.
Одной из трудностей, которые могут оказаться трудными, является растворение выражения, над которым вы работаете, в его отдельные части. Из-за характера языка можно читать одно регулярное выражение несколькими способами, если у вас нет понимания его основной цели, поэтому интерпретация других регулярных выражений является сложной. В естественном изучении языка я считаю, что это называется прагматикой.
Вопрос, который я хотел бы задать, - это такая вещь, как компилятор регулярных выражений? Или можно даже построить?
Можно было бы рассматривать регулярные выражения, с метафорической точки зрения, как язык ассемблера - есть некоторые сходства. Может ли быть разработан компилятор, который может превратить более естественный язык - более высокий язык - в регулярные выражения? Затем в моем коде я мог бы определять свои регулярные выражения с использованием языка более высокого уровня в файле заголовка и ссылаться на них, когда это необходимо, с использованием символической ссылки. Я и другие могут ссылаться от моего кода на заголовочный файл и более легко оценить, чего я пытаюсь достичь с помощью своих регулярных выражений.
Я знаю, что это может быть сделано с логической точки зрения, иначе компьютеры были бы невозможны, но если вы прочли это далеко, вы бы подумали о том, чтобы инвестировать время в его реализацию?