Regex-Match-Literal-String

9

Ich möchte eine Funktion schreiben (oder eine vorhandene verwenden), die eine beliebige Zeichenfolge verwendet und einen korrekt maskierten Regex erzeugt, der nur dieser Zeichenfolge entspricht. Was ist der schnellste und einfachste Weg, dies zu tun?

PythonNut
quelle

Antworten:

9

Sie suchen regexp-quote:

Diese Funktion gibt einen regulären Ausdruck zurück, dessen einzige exakte Übereinstimmung die Zeichenfolge ist. Die Verwendung dieses regulären Ausdrucks beim Betrachten ist nur dann erfolgreich, wenn die nächsten Zeichen im Puffer Zeichenfolgen sind. Die Verwendung in einer Suchfunktion ist erfolgreich, wenn der gesuchte Text eine Zeichenfolge enthält.

Auf diese Weise können Sie eine genaue Zeichenfolgenübereinstimmung oder -suche anfordern, wenn Sie eine Funktion aufrufen, die einen regulären Ausdruck wünscht.

Dan
quelle
Ich schwöre, ich habe die Dokumente durchsucht und Google, ich habe Zitat einfach nicht als Schlüsselwort angesehen. Vielen Dank.
PythonNut
1
regexp-quotehat die nette alternative Verwendung, Sonderzeichen in einer Zeichenfolge ordnungsgemäß zu maskieren, wenn eine Funktion einen regulären Ausdruck in "Emacs-Form" erwartet - z. B. wenn Sie sich nicht erinnern können, wie viele Backslashes verwendet werden sollen, um einem wörtlichen Backslash zu entkommen, führen Sie ihn einfach durch regexp-quoteim scratchPuffer oder ielm.
Dodgethesteamroller