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?

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.