Necesito convertir cadenas como "/ [\ w \ s] + /" a una expresión regular.
"/[\w\s]+/" => /[\w\s]+/
Intenté usar diferentes Regexp
métodos como:
Regexp.new("/[\w\s]+/") => /\/[w ]+\//
, de manera similar Regexp.compile
y Regexp.escape
. Pero ninguno de ellos regresa como esperaba.
Además, intenté eliminar las barras invertidas:
Regexp.new("[\w\s]+") => /[w ]+/
Pero no tengas suerte.
Luego intenté hacerlo simple:
str = "[\w\s]+"
=> "[w ]+"
Se escapa. Ahora, ¿cómo podría la cadena permanecer como está y convertirse en un objeto regexp?
fuente
/#{your_regex}/#{options}
.options
es un hash, y Ruby no es tan dinámico =)