Буквальний рядок збігу Regex


9

Я хочу написати функцію (або використати існуючу), яка буде приймати будь-який рядок і створювати правильно уникнутий Regex, який відповідає тільки цій рядку. Який найшвидший і найпростіший спосіб зробити це?

Відповіді:


9

Ви шукаєте regexp-quote:

Ця функція повертає регулярний вираз, єдиним точним збігом якого є рядок. Використовувати цей регулярний вираз при перегляді буде успішним, лише якщо наступні символи в буфері є рядковими; використовувати його в функції пошуку буде успішно, якщо текст, який шукається, містить рядок.

Це дозволяє запитувати точну відповідність рядків або пошук під час виклику функції, яка бажає регулярного виразу.


Клянусь, я шукав документи та Google, я просто не думав про цитату як ключове слово. Дякую.
PythonNut

1
regexp-quoteмає приємне альтернативне використання спеціальних символів у рядку належним чином для використання, коли функція очікує повторного виразів у "Emacs формі" - наприклад, якщо ви не можете згадати, скільки зворотних косих рисок використовувати для уникнення прямої косої риски, просто запустіть її через regexp-quoteв scratchбуфері або ielm.
dodgethesteamroller
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.