Chcę utworzyć wyrażenie regularne pasujące dokładnie do ciągu znaków foo, nawet jeśli foo zawiera metaznaki. Jest to czasami znane jako RegExp.quote
. Czy istnieje sposób, aby to zrobić w środowisku Node.js (lub, szerzej, v8/Chrome/WebKit/JavaScript)?Czy istnieje sposób na wyrażenie wyrażenia-cudzysłem w pliku Node.js?
6
A
Odpowiedz
17
npm install regexp-quote
RegExp.quote = require('regexp-quote') // optional
new RegExp(RegExp.quote(foo))
+3
Dlaczego upadek? Jest całkowicie w porządku, że PO odpowiedział na własne pytanie. –
+3
Dzięki za zapakowanie go do biblioteki. Bardzo zadbane :) –
+1
Używane w 'node-gitteh'. Dzięki! –
Jeśli to, co chcesz to 'funkcja RegExp.quote' patrz http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript –
Dzięki, Dan! Pakowałem to do modułu NPM (patrz odpowiedź poniżej). –
Pamiętaj, że obecnie pracujemy nad [dodaniem tej funkcji do JavaScript] (https://github.com/benjamingr/RegExp.escape), jeśli masz na ten temat zdanie, dołącz do dyskusji. –