re = /^(\*|[[:digit:]]{1,9})[[:blank:]](\*|[[:digit:]]{2})[[:blank:]](\*|[[:digit:]]{2})[[:blank:]](\*|[[:alpha:]]{3})[[:blank:]](\*|[[:digit:]]{2})[[:blank:]](\*|[[:digit:]]{2})[[:blank:]](\*|[[:digit:]]{2})[[:blank:]];[[:blank:]]([[:print:]]*)$/m
str = 'PS : This is some examples :
* * * * * * * ; command
0 00 00 Mon 00 00 00 ; command
123456789 00 00 Mon 00 00 00 ; command
01234556789 00 00 Mon 00 00 00 ; command
0 00 00 0 00 00 00 ; command
0 0 0 Mon 0 0 0 ; command'
# 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