Я люблю Emacs. Я люблю регулярные выражения. Я ненавижу синтаксис regex в emacs - необходимость избегать группирования паренов и скобок, что вы не избегаете буквальных паренсов, отсутствия предопределенных классов символов и т. Д.
Могу ли я заменить механизм регулярных выражений в emacs или настроить некоторые параметры, чтобы при использовании функции Query-replace-regexp (или одной из многих других) я мог использовать синтаксис, который я запрограммировал в java / js / perl / рубин / и т.д ...?
Edit:
Изначально речь шла о том, «как изменить движок регулярных выражений в emacs», который не только изменял бы правила экранирования и добавлял классы символов, но также (не упоминалось в посте) добавлял поддержку различных распространенных расширений (? ...). Такие функции, как нехватка паренов: (?: ...), сопоставляются только если / если-не сопровождается: (? = ...) / (?! ...) и другие. Я не верю (хотя и рад, что исправляюсь), это возможно с текущим механизмом регулярных выражений emacs, и никакие замены синтаксиса не исправят это.
В приведенном ниже решении рассматриваются исходные проблемы экранирования и дополнительных классов char путем замены на синтаксис, который понимает emacs. Во втором ответе (теперь удаленном) предложено дать совет (добавить функцию для запуска в начале другого) в функцию регулярного выражения в emacs, чтобы сделать замену всей обработке регулярного выражения. Автор быстро подверг цензуре себя, осознав, что он, скорее всего, нарушит существующий код emacs, и в конечном итоге пост был удален.
Я бы все-таки хотел изменить движок регулярных выражений на тот, который поддерживает расширения, но я согласен, что универсальное изменение поведения выхода вызовет хаос, за которым я не буду охотиться. Таким образом, я меняю тему в соответствии с вопросом и принимаю ответ.
Мне пришло в голову поменять движок для поддержки общего синтаксиса и расширений, посоветовать функции regex преобразовать внутренний код emacs в общий синтаксис, посоветовать интерактивным функциям преобразовать мой общий синтаксис в синтаксис emacs (так его можно преобразовать обратно в обычный) ... но я думаю, что даже RMS рекомендовал бы вилку до этого.