re = /(.*)-Nr(\d+)-(\d+,?\d*)x(\d+,?\d*)cm-(.*)(\d{4}\b)-?(\d+)?(.*)?/
str = 'G22-Nr035-100x150cm-Backlight-2020
HOLLU-Nr357-33,5x500cm-Backlight-nicht-hinterleuchtet-2021
GRIBA-Nr651-200x300cm-Blockout-2018
GRAMM-Nr470-200x100cm-Backlight-nicht-hinterleuchtet-2021-4Stk
HAGELSCHUTZ-Nr1082-150x400cm-Backlight-nicht-hinterleuchtet-mit Schlaufe-2021'
# 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