re = /[^\d\s.+-][-+]?\d+(?:\.\d+)?(?:\|\d+(?:\.\d+)?)*/m
str = '$1.0?8S0.0H692.8Q651.7u3.3o294.8n0t32.6s0R0.0P0.0Y114.9|136.3%1N-22.08930501E-48.05973392D692.374U0.0V0.00O0.0I6G0.20F12h0.000v0.000x1y1a24.0412e5.0690b0.00l0.0000r0.0000f0p4¨0.0@0.0c0.0d0.0º0|0|0|0=51.9988B1.0#0
'
# 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