Использование Emacs в злом режиме, у меня возникают проблемы с регулярными выражениями, которые включают \_
, например, например,Emacs в злых режимах и регулярных выражениях
/TAG1\_.\{-}TAG2
/TAG1\_s*TAG2
Например, первое регулярное выражение используется в Vim, чтобы найти какой-либо блок текста между TAG1
и TAG2
, включая пробелы и новые строки. Он будет соответствовать, например,
TAG1
text
more text TAG2
Однако в Emacs лукавого режиме, как только я печатаю \_
, я получаю сообщение об ошибке в Premature end of regular expression
. Другие поиски без \_
, как
/TAG1\n*TAG2
работы, как и следовало ожидать, так что проблема именно с \_
. Я попытался немного поиграть со злыми настройками группы, но безрезультатно. Любой намек, где проблема может лежать?
P.S .: Проблема имеет место независимо от того, пользуюсь ли я графическим интерфейсом или нет. В Vim я не получаю никаких проблем
Что это такое, когда выражение просто '\ _'? – sln
'-' обычно не требуется. Некоторые самодельные двигатели используют такие функции, как это означает meta (пример '\ <' - начало границы слова) – sln
Когда выражение просто '/ \ _', оно говорит' Неполный вход'. Если '_' используется без экранирования, он рассматривается как любой другой символ, как и ожидалось: например. '/ TAG1_s * TAG2' находит строку' TAG1_sTAG2' (но я хочу найти 'TAG1 TAG2'!) – summer