re = /(?i)\bw(?:eigh)?t\b.{1,25}?\b(?<!\d\/)(\d+(?:\.\d+)?)(?!\/?\d)\s*(\w+)/m
str = 'Weight Measured: 80.7 kg 11/27/1900 24:59:00
Pulse 64 \\F\\ Temp 37.3?C (99.1 ?F) \\F\\ Wt 101.2 kg (223 lb)
Weight as of 11/11/1900 72.2 kg (159 lb 1.6 oz)
Resp. rate 16, height 177.8 cm (5\' 10"), weight 84.7 kg (186 lb|
11.2 oz)
And one extra weight example 100lbs'
# 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