Механизм Elisp для преобразования регулярных выражений PCRE в регулярные выражения emacs

Я допускаю значительную предвзятость в отношении того, что PCRE регулярные выражения намного лучше, чем emacs, если нет другой причины, по которой, когда я набираю '(' Я в значительной степени всегда нужен оператор группировки. И, конечно же, \ w и подобные им НАСТОЛЬКО удобнее, чем другие эквиваленты.

Но было бы безумием ожидать изменения внутреннего устройства emacs, конечно. Но это должно быть возможно я бы подумал, чтобы преобразовать из эксперимента PCRE в выражение emacs, и сделаю все необходимые преобразования, чтобы я мог написать:

(defun my-super-regexp-function ...
   (search-forward (pcre-convert "__\\w: \d+")))

(или подобное).

Кто-нибудь знает библиотеку elisp, которая может это сделать?


Редактировать: Выбор ответа из ответов ниже ...

Вау, я люблю возвращаться после 4 дней отпуска, чтобы найти множество интересных ответов s, чтобы разобраться! Мне нравится работа над решениями обоих типов.

В конце концов, похоже, что обе версии решений exec-a-script и прямо elisp будут работать, но с точки зрения чистой скорости и «правильности», версия elisp, безусловно, является той, которую люди предпочли бы ( я включил).

25
задан Wes Hardaker 14 February 2012 в 05:28
поделиться