re = /^([\w_]+)(?:\{([^}]*)\})?\s+([\d\\.e+-]+)(?:\s+(\d+))?$/m
str = 'machine_npu_nums 8
npu_chip_info_aicore_current_freq{container_name="",id="1",model_name="910B2-Ascend-V1",namespace="",pcie_bus_info="0000:C2:00.0",pod_name="",vdie_id="3281A66C-0040747A-729D5B72-B9D00485-104301E3"} 800 1758683287482'
# 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