re = /(ON|OFF)\s?(sc\d?\s?)+\s?(ON|OFF)/m
str = 'ON sc sc ON ON sc sc ON
ON sc1 sc2 OFF ON
OFF ON sc OFF ON
ON OFF OFF sc1 sc2 OFF ON ON
ON OFF OFF sc1 sc2 OFF ON ON OFF sc1 sc2 ON'
# 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