re = /:61:(\d{6})(\d+)(\D{1,2})(\D?)([\d,]{2,15})(\D{1})(\w{3})(.+?)(?=\/\/)\/\/(.{0,16})/m
str = ':61:090124D10000000,S202DRS/06553
:61:1507020702D115945,00F014NARRATIVE//0207150143062089
:61:170929D546232,05S101PLTOL101-56//C11126A1378
:61:170929D100000,NFEXAAAAUS0369PLATUS//8954321
:61:090124D10000000,S202DRS/06553'
# 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