re = /("FILENAME" "([^\/:*?"<>|]+)")/m
str = '130 (UID 1245 BODYSTRUCTURE ((("TEXT" "PLAIN" ("CHARSET" "UTF-8") NIL NIL "QUOTED-PRINTABLE" 847 17 NIL NIL NIL)("TEXT" "HTML" ("CHARSET" "UTF-8") NIL NIL "QUOTED-PRINTABLE" 2009 41 NIL NIL NIL) "ALTERNATIVE" ("BOUNDARY" "000000000000929e4505d59042b1") NIL NIL)("IMAGE" "JPEG" ("NAME" "BS_01.jpg") "<f_kyetquhw1>" NIL "BASE64" 280364 NIL ("ATTACHMENT" ("FILENAME" "BS_(01)_a.jpg")) NIL)("IMAGE" "PNG" ("NAME" "payroll_check_top_format.png") "<f_kyetquio3>" NIL "BASE64" 498210 NIL ("ATTACHMENT" ("FILENAME" "payroll check top format.png")) NIL)("IMAGE" "JPEG" ("NAME" "missouri_dl_3e_1300x884.jpg") "<f_kyetquia2>" NIL "BASE64" 1014040 NIL ("ATTACHMENT" ("FILENAME" "missouri_dl_3e_1300x884.jpg")) NIL)("IMAGE" "JPEG" ("NAME" "1040-1-1_N.jpg") "<f_kyetquhj0>" NIL "BASE64" 4272596 NIL ("ATTACHMENT" ("FILENAME" "1040-1-1_N.jpg")) NIL) "MIXED" ("BOUNDARY" "000000000000929e4705d59042b3") NIL NIL))'
# 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