Hola, no consigo disponer de unas cuantas expresiones regulares y
comparar un texto con ellas.
El texto serÃa por ejemplo:
texto = “INVITE sip:[email protected] SIP/2.0”
Y necesito, para que sean reusables, tener las expresiones regulares
separadas:
METHOD = “(INVITE|ACK|BYE|CANCEL)” # Uno de esos métodos.
URI = “[0-9a-z]@[-9a-z]*”
SIP_VERSION = “SIP/[0-9].[0-9]”
Y ahora quiero hacer esto:
if texto =~ /^METHOD\sURI\sSIP_VERSION/
Pero sencillamente no funciona en absoluto, parece que al meter un
String dentro de / / no lo admite como expresión regular sino que
busca dicha cadena literalmente.
Asà que pruebo con:
METHOD = Regexp.new("(INVITE|ACK|BYE|CANCEL)" )
URI = Regexp.new("[0-9a-z]@[-9a-z]*")
SIP_VERSION = Regexp.new(“SIP/[0-9].[0-9]”)
Pero con esto no puedo comprobar una lÃnea y que encuentre expresiones
regulares secuencialmente y que sólo devuelva !nil si se cumple todo.
Empiezo a pensar que esto no se puede hacer y que tengo que hacer como
he hecho hasta ahora: separar cada término del texto con un “split” y
compararlo con su expresión regular correspondiente, ¿es as�
Muchas gracias.