re = /(?<soap_envelope><soap:Envelope.*\/soap:Envelope>)/
str = ' {"severity":"DEBUG","logger":"org.mule.module.http.internal.HttpMessageLogger","thread":"[dmvproxy-1.0.2-RELEASE].HTTP_Listener_Configuration.worker.790","message":"LISTENER\\nPOST \\/inolrsproxy HTTP\\/1.1\\r\\nContent-Type: text\\/xml; charset=UTF-8\\r\\nAccept: *\\/*\\r\\nUser-Agent: Apache CXF 3.1.4\\r\\nX-Takipi-SN: 18480\\r\\nCache-Control: no-cache\\r\\nPragma: no-cache\\r\\nHost: dmv-proxy.dmv-proxy.rancher.internal:8081\\r\\nConnection: keep-alive\\r\\nContent-Length: 3413\\r\\n\\r\\n<soap:Envelope xmlns:soap=\\"http:\\/\\/schemas.xmlsoap.org\\/soap\\/envelope\\/\\"><soap:Body><test>testvalue<\\/test><\\/soap:Body><\\/soap:Envelope>"}'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html