Elisp: поиск строки с несбалансированной кавычкой вызывает ошибку Lisp - PullRequest
0 голосов
/ 09 августа 2010

поиск filename . "myfile.txt"

(regexp-quote "filename \. \"\\(.+\\)\"")
"filename \\. \"\\\\(\\.\\+\\\\)\""

поиск filename . "myfile.txt (без последней цитаты)

(regexp-quote "filename \. \"\\(.+\\)")
Debugger entered--Lisp error: (invalid-read-syntax ") or . in a vector")
  read(#<buffer processing-files.el>)
  preceding-sexp()
  eval-last-sexp-1(t)
  eval-last-sexp(t)
  eval-print-last-sexp()
  call-interactively(eval-print-last-sexp nil nil)

1 Ответ

0 голосов
/ 09 августа 2010

Я думаю, что вы неправильно поняли, что означает регулярное выражение:

Из документа (C-h C-f регулярное выражение RET)

Возвращает строку регулярного выражения, которая точно соответствует строке и ничего больше.

Или я неправильно понял ваш вопрос.

В любом случае, если вы хотите выполнить поиск, есть какая-то функция search-backward-regexp, search-forward-regexp

...