2010-03-17 21 views
5

Sto provando ad analizzare un file di testo che contiene sequenze di colori ANSI, ad es.Come inserire un carattere di escape (NON carattere "escape") in un'espressione regolare di Ruby?

\e[0;37m 

Come posso creare un'espressione regolare per farlo corrispondere in Ruby?

+3

non è possibile utilizzare '\ e'? Vedi http://docs.huihoo.com/ruby/ruby-man-1.4/syntax.html#string –

+0

Aww geez. Questo è quello che ho avuto all'inizio, ma non sembrava funzionare. Ho capito il problema dopo un po 'più di sperimentazione: la regex funzionava, ma l'output proveniva dall'iteratore che conteneva il valore originale originario. :( – Amy

+0

@Sinan: btw, grazie per il link – Amy

risposta

2

Si scopre questo funziona assolutamente bene:

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