Мне нравится emacs. Я люблю регулярные выражения. Я ненавижу синтаксис регулярных выражений emacs - необходимость избегать группировки парсеров и фигурных скобок, что вы не избегаете буквенных парен, отсутствия предопределенных классов символов и т.д.
Можно ли заменить механизм регулярных выражений emacs или настроить некоторые параметры, так что, когда я использую функцию Query-replace-regexp (или одну из многих других), я могу использовать синтаксис, который я программирую, в java/js/perl/рубин/и т.д...?
Edit: Тема была первоначально "как изменить emges-regex engine", который не только изменит правила экранирования и добавит классы символов, но также (не упоминается в сообщении) добавит поддержку для разных общих расширений (?...). Такие функции, как non-capture the parens: (?:...), соответствуют только если /if -not follow: (? =...)/(?!...) и другие. Я не верю (хотя и счастлив, что вас исправили), это возможно с помощью текущего regex engine emacs, и никакие замены синтаксиса не исправят это.
В приведенном ниже решении рассматриваются исходные проблемы экранирования и дополнительные классы char путем замены синтаксисом emacs. Второй ответ (теперь удаленный) предложил совет (добавить функцию для запуска в начале другого) функцию регулярного выражения emacs, чтобы выполнить замену для всей обработки регулярных выражений. Автор быстро подвергал цензуре, осознавая, что он, вероятно, сломает существующий код emacs, и в конечном итоге сообщение было удалено.
Я бы по-прежнему хотел бы изменить regex-engine на тот, который поддерживает расширения, но я согласен с тем, что изменение поведения экранирования универсально вызовет хаос, который я не хочу преследовать. Таким образом, я меняю тему, чтобы ответить на вопрос и принять ответ.
Мне пришло в голову изменить движок для поддержки общего синтаксиса и расширений, посоветуйте функции регулярного выражения для преобразования внутреннего кода emacs в common-syntax, посоветуйте интерактивные функции преобразовать мой общий синтаксис в emacs-синтаксис (так он может быть преобразован обратно в обычный)... но я думаю, что даже RMS порекомендовал бы развилку до этого.