re = /E\)((?:(?!F\)).)+)/i
str = 'A1147/13 NOTAMN
Q) ESAA/QRRCH/IV/BO /AW/000/023/5933N01746E002
A) ESSA B) 1311140900 C) 1311211500
D) 14 21 0900-1500
E) UPPER LIMIT ES R16C KUNGSANGEN RAISED TO 2300 FT AMSL
REF AIP ENR 5.1
F) GND G) 2300FT AMSL
CREATED: 30 Oct 2013 10:00:00
SOURCE: EUECYIYN
A1147/13 NOTAMN
Q) ESAA/QRRCH/IV/BO /AW/000/023/5933N01746E002
A) ESSA B) 1311140900 C) 1311211500
D) 14 21 0900-1500
E) UPPER LIMIT ES R16C KUNGSANGEN RAISED TO 2300 FT AMSL
REF AIP ENR 5.1
CREATED: 30 Oct 2013 10:00:00
SOURCE: EUECYIYN'
# 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