2012-04-29 25 views
6

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?

+4

Jeśli to, co chcesz to 'funkcja RegExp.quote' patrz http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript –

+0

Dzięki, Dan! Pakowałem to do modułu NPM (patrz odpowiedź poniżej). –

+0

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. –

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! –

Powiązane problemy