re = /(?:mat-column-(\w+)[^>]*>(?:<[^>]*>)*|(?<!^)\G(?:\<(?:(?!mat-column-|[><]).)*\>)*+)([^<]+)/m
str = '<p>Bitte nachfolgende Transporte nach PRP einplanen:</p><table style="width: 675.406px"><colgroup><col style="width: 126px" /><col style="width: 94px" /><col style="width: 418px" /></colgroup><tbody><tr height="18" style="height: 13.6pt"><td>Transport</td><td>Owner</td><td>Short text</td></tr><tr height="19" style="height: 14.3pt"><td>DRPK9A0GCY</td><td>STENGERT</td><td>0095_PC Vorbelegung 874 MFV</td></tr><tr height="19" style="height: 14.3pt"><td>DRPK9A0GCW</td><td>STENGERT</td><td>0095_VKGr MFV 874</td></tr></tbody></table><p> </p>
'
# 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