Soy nuevo en expresiones regulares en Ruby.¿Cómo se extrae una subcadena de una cadena con una expresión regular?
La cadena se parece a http://www.site.com/media/pool/product_color_purple.jpg
y estoy tratando de extraer de esto solo el bit que tiene el color. Esto puede ser de longitud variable, ya que algunos de los colores son como prince_purple.jpg
.
por lo que tengo:
colour = c.attr('src').match(/(.*)color_(.*).jpg/)
puts "Colour is #{colour}"
Lo que vuelve de color es la cadena de nuevo, en lugar del bit extraído, que es el color. ¿Qué está mal aquí?
'' match' vuelve MatchData' y "MTCH [ 0] es equivalente a la variable especial $ &, y devuelve la cadena coincidente completa. Mtch [1], mtch [2], y así sucesivamente, devuelve los valores de las referencias relacionadas "- http: //www.ruby-doc. o g/core/classes/MatchData.html –
Tu enlace está roto. Es mejor mostrar aquí lo que quería mostrar. – sawa