emacs regexp-builder не работает в replace-regexp

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

a1b2c3

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

"b\\(2\\)"

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

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

b\(2\)

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

22
задан second 18 August 2010 в 20:06
поделиться

1 ответ

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

29
ответ дан 29 November 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: