2012-04-29 19 views
6

Quiero crear una expresión regular que coincida exactamente con la cadena foo, incluso si foo contiene metacaracteres. Esto a veces se conoce como RegExp.quote. ¿Hay alguna manera de hacer esto en un entorno Node.js (o, más ampliamente, v8/Chrome/WebKit/JavaScript)?¿Hay alguna forma de regexp-quote una cadena en Node.js?

+4

Si lo que desea es una función 'RegExp.quote', ver http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript –

+0

¡Gracias, Dan! Empaqueté eso en un módulo de NPM (ver respuesta a continuación). –

+0

Tenga en cuenta que actualmente [estamos trabajando para agregar esta funcionalidad a JavaScript] (https://github.com/benjamingr/RegExp.escape) si tiene una opinión al respecto, únase a la discusión. –

Respuesta

17

npm install regexp-quote

RegExp.quote = require('regexp-quote') // optional 
new RegExp(RegExp.quote(foo)) 
+3

¿Por qué el voto a favor? Está completamente bien que el OP respondiera su propia pregunta. –

+3

Gracias por empacarlo en una biblioteca. Muy limpio :) –

+1

Lo usé en 'node-gitteh'. ¡Gracias! –

Cuestiones relacionadas