re = /(\w+)=\"\s*(.*?)(?:\sMbps|\sdB)?\"/
str = 'var conn_down=" 13.35 Mbps";
var conn_up=" 0.82 Mbps";
var line_down=" 34.60 dB";
var line_up=" 19.70 dB";
var noise_down=" 6.10 dB";
var noise_up=" 6.50 dB";
var sys_uptime="74523";
var lan_status="Link up";
var lan_txpkts="1294024";
var lan_rxpkts="2256747";
var lan_collisions="0";
var lan_txbs="10004";
var lan_rxbs="35259";
var lan_systime="74523";'
# 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