Regex cocok dengan string literal

9

Saya ingin menulis fungsi (atau menggunakan yang sudah ada) yang akan mengambil string apa pun dan menghasilkan Regex yang lolos dengan benar yang hanya cocok dengan string itu. Apa cara tercepat dan paling sederhana untuk melakukan ini?

PythonNut
sumber

Jawaban:

9

Anda mencari regexp-quote:

Fungsi ini mengembalikan ekspresi reguler yang hanya kecocokan persisnya string. Menggunakan ekspresi reguler ini dalam melihat-akan hanya akan berhasil jika karakter berikutnya dalam buffer adalah string; menggunakannya dalam fungsi pencarian akan berhasil jika teks yang dicari berisi string.

Ini memungkinkan Anda untuk meminta pencocokan string yang tepat atau mencari ketika memanggil fungsi yang ingin ekspresi reguler.

Dan
sumber
Aku bersumpah, aku mencari dokumen dan Google, aku hanya tidak menganggap kutipan sebagai kata kunci. Terima kasih.
PythonNut
1
regexp-quotememiliki penggunaan alternatif yang bagus untuk keluar dari karakter khusus dalam string dengan benar untuk digunakan ketika suatu fungsi mengharapkan regexp dalam "formulir Emacs" - misalnya jika Anda tidak dapat mengingat berapa banyak garis miring terbalik yang digunakan untuk melarikan diri dari garis miring terbalik literal, jalankan saja melalui regexp-quotedi scratchbuffer atau ielm.
dodgethesteamroller