emacs regexp-builder не работает в replace-regexp - PullRequest
21 голосов
/ 19 августа 2010

У меня есть буфер emacs, содержащий текст

a1b2c3

с помощью regexp-builder, я создаю регулярное выражение

"b\\(2\\)"

и вижу подсветку совпадения (b2, с2 другим цветом).

однако, когда я вставляю выражение в replace-regexp, я получаю 0 совпадений.как с кавычками, так и без них.чтобы получить совпадение, мне нужно использовать

b\(2\)

Я думаю, здесь происходит какое-то спасение, но, конечно, я, должно быть, делаю что-то не так.необходимость вручную убежать, кажется, побеждает половину смысла.

1 Ответ

29 голосов
/ 19 августа 2010

regexp-builder может показать регулярное выражение в нескольких синтаксисах.По умолчанию он использует синтаксис, подходящий для ввода в исходный код Emacs Lisp (read синтаксис), поэтому регулярное выражение помещается между двойными кавычками и каждый обратный слеш удваивается.Для интерактивного использования выберите синтаксис string с помощью C-c C-i (reb-change-syntax).

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