Regex จับคู่สตริงตามตัวอักษร


9

ฉันต้องการที่จะเขียนฟังก์ชั่น (หรือใช้ที่มีอยู่) ที่จะใช้สตริงใด ๆ และผลิต Regex หนีอย่างถูกต้องที่ตรงกับสตริงเท่านั้น วิธีที่เร็วและง่ายที่สุดในการทำเช่นนี้คืออะไร?

คำตอบ:


9

คุณกำลังมองหาregexp-quote:

ฟังก์ชันนี้ส่งคืนนิพจน์ทั่วไปที่มีการจับคู่ที่ตรงกันเท่านั้นคือสตริง การใช้นิพจน์ทั่วไปนี้ในการค้นหาจะสำเร็จก็ต่อเมื่ออักขระตัวถัดไปในบัฟเฟอร์เป็นสตริง ใช้มันในฟังก์ชั่นการค้นหาจะประสบความสำเร็จหากข้อความที่ค้นหามีสตริง

สิ่งนี้อนุญาตให้คุณร้องขอการจับคู่สตริงที่แน่นอนหรือค้นหาเมื่อเรียกใช้ฟังก์ชันที่ต้องการนิพจน์ทั่วไป


ฉันสาบานฉันค้นหาเอกสารและ Google ฉันไม่คิดว่าคำพูดเป็นคำหลัก ขอบคุณ
PythonNut

1
regexp-quoteมีการใช้ทางเลือกที่ดีในการหลบหนีอักขระพิเศษในสตริงอย่างถูกต้องสำหรับการใช้งานเมื่อฟังก์ชั่นคาดว่า regexp ใน "รูปแบบ Emacs" - เช่นหากคุณจำไม่ได้ว่ามีเครื่องหมายแบ็กสแลชจำนวนเท่าไรregexp-quoteในบัฟเฟอร์หรือscratch ielm
dodgethesteamroller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.