2010-03-17 18 views
5

Estoy tratando de analizar un archivo de texto que tiene secuencias de color ANSI, p. Ej.¿Cómo pongo un carácter de escape (NO carácter "fugado") en una expresión regular de Ruby?

\e[0;37m 

¿Cómo puedo crear una expresión regular para que coincida con esto en Ruby?

+3

No se puede usar '\ e'? Ver http://docs.huihoo.com/ruby/ruby-man-1.4/syntax.html#string –

+0

Aww geez. Eso es lo que tuve al principio, pero no parecía que funcionara. Descubrí el problema después de un poco más de experimentación: la expresión regular funcionaba, pero la salida provenía del iterador que contenía el valor bruto original. :( – Amy

+0

@Sinan: por cierto, gracias por el enlace. – Amy

Respuesta

2

Resulta que este funciona absolutamente bien:

def strip_ansi_sequence (str) 
    str.gsub(/\e\[[^m]*m/, '') 
end 
Cuestiones relacionadas