Dopasuj ciąg dosłowny wyrażenia regularnego


9

Chcę napisać funkcję (lub użyć istniejącej), która pobierze dowolny ciąg i utworzy poprawnie uciekający Regex, który pasuje tylko do tego ciągu. Jaki jest najszybszy i najprostszy sposób na zrobienie tego?

Odpowiedzi:


9

Poszukujesz regexp-quote:

Ta funkcja zwraca wyrażenie regularne, którego jedynym dokładnym dopasowaniem jest łańcuch. Użycie tego wyrażenia regularnego przy przeglądaniu powiedzie się tylko wtedy, gdy kolejne znaki w buforze są ciągami; użycie go w funkcji wyszukiwania powiedzie się, jeśli wyszukiwany tekst zawiera ciąg znaków.

Pozwala to zażądać dokładnego dopasowania ciągu lub wyszukiwania podczas wywoływania funkcji, która potrzebuje wyrażenia regularnego.


Przysięgam, przeszukałem dokumenty i Google, po prostu nie pomyślałem o cytacie jako słowu kluczowym. Dzięki.
PythonNut

1
regexp-quotema przyjemne alternatywne użycie znaków specjalnych w ciągach znaków, do użycia, gdy funkcja oczekuje wyrażenia regularnego w „formie Emacsa” - np. jeśli nie pamiętasz, ile ukośników odwrotnych należy użyć, aby uciec od dosłownego odwrotnego ukośnika, po prostu uruchom go regexp-quotew scratchbuforze lub ielm.
dodgethesteamroller
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.