2010-01-20 12 views
7

Tengo una variable de cadena que tiene varias líneas nuevas en ella y me gustaría probar si el comienzo de la cadena coincide con una expresión regular. Sin embargo, cuando uso el carácter ^, coincide con el texto que comienza en cada nueva línea.Coincidir solo al principio de la línea en Ruby regexp

Quiero que este partido:

"foo\nbar" =~ /^foo/ 

y quiero que esto no coincide con

"bar\nfoo" =~ /^foo/ 

no puedo encontrar un modificador que hace que el ^ (o cualquier otra) partido único personaje el comienzo de la cadena. Cualquier ayuda muy apreciada.

Respuesta

12

En Ruby, el símbolo y el dólar siempre coinciden antes y después de las líneas nuevas. Ruby no tiene un modificador para cambiar esto. Usa \ A y \ Z para unir al comienzo o al final de la cadena.

Ver: http://www.regular-expressions.info/ruby.html

1

De "Programación Ruby"

'\A 
    Matches the beginning of the string. ' 
Cuestiones relacionadas