re = /(\b\d{12}\b)(?:.*[\n]{0,3}.*DHL.*Retoure)/mi
str = 'Deutsche Post AG
~ Test Str. 176
12345 Entenhausen
81014617 0873 08.09.2021 15:50
Sendungs informa tionen:
123456789012
DHL Retoure
oe Re 8 oe 6 0 BE MERe ob pre eo Ste eo en ec ONO woes
Sendungsverfolgung unter:
wow. dhl. de/sendungsverfolgung
Vielen Dank fiir Ihren Besuch.
Ihre Deutsche Post AG
me x
'
# 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