re = /(?:(?<dateShort>\d\d\/\d\d\/\d{4})|(?<dateLong>\w* \d\d, \d{4})|(?<dateISO>\d{4}-\d\d-\d\d)).*label:\s(?<label>\w*)\)/mi
str = '2. Match all the dates in the following text, and label each date accordingly
Sent: 01/20/2023 at 10:00 AM (label: Sent)
To: Manuel
Don’t forget our meeting on Saturday, January 23, 2023 (label: Meeting), to discuss the following
schedules:
2023-01-27 - Unlocking the Secrets of RegEx: Learn to Match Patterns (label: Class1)
2023-01-28 - Unleashing the Potential of RegEx: Advanced Techniques (label: Class2)
2023-01-29 - Make and RegEx: Powering Up Your Automation Workflows (label: Class3)'
# 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