re = /(?<=\s)(\d+)\s(st(u?)k?)s?|(p((ie)?ce(s?)))/
str = 'apple 10m
10mm
11ml
11kg
12g
13gr
14m3
15m2
apple 10 stuks
10 pieces
11 pces
11 pce
12 stk
13 stuks
14m3
15m2'
# 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