Aquí hay una limitada pero útil otra respuesta:
descubrí que lo que puedo insertar fácilmente en una expresión regular sin utilizar Regexp.quote o Regexp.escape si acabo de utilizar comillas simples en mi cadena de entrada: (una IP dirección coincidente)
IP_REGEX = '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
my_str = "192.0.89.234 blahblah text 1.2, 1.4" # get the first ssh key
# replace the ip, for demonstration
my_str.gsub!(/#{IP_REGEX}/,"192.0.2.0")
puts my_str # "192.0.2.0 blahblah text 1.2, 1.4"
comillas simples solo interpretar \\ y \ '.
http://en.wikibooks.org/wiki/Ruby_Programming/Strings#Single_quotes
Esto me ayudó cuando necesitaba usar la misma porción larga de una expresión regular varias veces. No es universal, pero cabe el ejemplo de la pregunta, creo.
¿Estás tratando de ver si foo es una subcadena de goo? No creo que esté claro lo que estás preguntando. – Neall
Si es así, ¡goo.include? (Foo) es suficiente. –
No, no estaba tratando de ver si foo es una subcadena de goo; También necesitaba capturar algo, por lo tanto, incluir no funcionó. –