Estou compondo uma expressão regular complexa e o usuário pode fornecer uma parte da expressão. No entanto, a parte fornecida pelo usuário deve ser interpretada literalmente, ou seja, caracteres especiais regexp devem ser escapados. Existe uma função para escapar desses caracteres? Parece uma coisa comum de se fazer, mas todo o meu Google não foi bem-sucedido.
Exemplo:
(re-search-forward (format "\b%s\b" user-string))
Se user-string
for test*case
, quero combinar, test*case
mas não testttttcase
.
fonte
(defalias 'regexp-escape 'regexp-quote)
. Isso foi discutido em alguma das listas de discussão do emacs?