Could you please take a look at this regex (line 52) that’s just
killing me. (It’s at http://rafb.net/paste/results/l4U66N90.html or
below). When I split it up (lines 44-49) it works fine. There must be
something obvious but I can’t see it.
doc = <<EOF
KSFO
-122.374889,37.618972
-122.374889
37.618972
100000.0
#iata
<![CDATA[
San Francisco Intl, Usa
| ICAO: | KSFO |
| IATA: | SFO |
| Altitude: | 13 ft. |
| Type: | Civil |
| Rwy 19L/01R: | 193.0°/13.0° 8648ft., Alt. 10.0ft. |
| Rwy 19R/01L: | 193.0°/13.0° 7500ft., Alt. 8.8ft. |
| Rwy 28L/10R: | 283.0°/103.0° 10602ft., Alt. 12.7ft. |
| Rwy 28R/10L: | 283.0°/103.0° 11870ft., Alt. 13.1ft. |
| Timezone: | UTC-8(-7DT) |
| DAFIF Cycle: | 200510 |
| CAUTION | WIP UFN apch end Rwy 28L/R and 19L. Bird haz. Rubber accumulated first 3000' Rwy28L and 28R. Pilots shall strictly flw nose-gear lines, no oversteering adjustment perms. Several rwy hold posn signs on rgt side of twy. |
| CG | Min 24 hr PPR exc CG msn, C650-808-2901/2902 dur nml duty hr 1600-2400Z++. Svc ltd to prk, ramp space only, C-12/C-20 or smaller. No fuel, messing, space A svc,govt sfc transportation, tran qtrs, maint. 15 min before arr ctc SAN FRAN AIR 3 |
| CG | 81.8. |
| FUEL | (NC-100, 100LL, A) |
| LGT | Rwy 19L SALSF are only 1100' long with only one flasher on the last lgt stn. |
| MISC | Rwy 01R-19L, 10R-28L, 10L-28R grooved exc at rwy int. Rwy 01L-19R grooved exc atrwy int and 535' N of Twy C. Hi speed Twy T grooved btn Rwy 28R and 28L. Copterldg area mrk on Twy C in front of Coast Guard OPS for mil use only. Rwy 10 pref |
| MISC | rwy 0900-1400Z++, wx and cond perms. Flt Notification Svc, ADCUS, avbl. LLWAS. |
| NS ABTMT | For pro fone C650-821-5100, 1600-0100Z++ Mon-Fri. |
| RSTD | Taxi speed less than 10 Kt per hr on non-rstd twy trml side of rwy int, less than 5 Kt per hr when B747-400 pass on Twy A or B. |
| TFC PAT | Rgt tfc Rwy 10R, 28R. |
PHOG
-156.430458,20.898650
-156.430458
20.898650
100000.0
#iata
<![CDATA[
Kahului, Usa Maui Isl.
| ICAO: | PHOG |
| IATA: | OGG |
| Altitude: | 54 ft. |
| Type: | Civil |
| Rwy 20/02: | 205.0°/25.0° 6995ft., Alt. 12.4ft. |
| Rwy 23/05: | 235.0°/55.0° 4990ft., Alt. 15.9ft. |
| Island/Group: | Maui I |
| Timezone: | UTC-10 |
| DAFIF Cycle: | 200505 |
| CAUTION | Lgtd twr 570' hi 3 NM W of arpt. Bird haz. Due to non-vis twr unable to determine if the flw areas are clear of obst/tfc; portion of Twy F btn commuter trml andapch end Rwy 05. Due to non-vis twr unable to provide svc btn acft/veh on commu |
| CAUTION | ter trml S of Twy F and copter trml E of apch end Rwy 02. 130' crane 6000' SW apch end Rwy 02. |
| FUEL | A+ (Air Service Hawaii, 1700-0400Z, C808-871-5572; OT 1.5 hr PN rqr, C808-870-8007 C808-757-0321, $100 fee.) (NC-100-Avbl 24 hr self-svc). |
| LGT | When twr is unattended, ACTIVATE-MALSR Rwy 02, HIRL Rwy 02-20 and MIRL Rwy 05-23-CTAF. VASI Rwy 02 TCH 65', Rwy 20 TCH 76', Rwy 05 TCH 40'. VASI Rwy 05 unuse byd 4 NM due rising terrain. |
| MISC | Crash and fire eqpt avbl 24 hr. All rwy grooved. LLWAS 0000-0900Z. LAWRS 1600-0900Z. |
| NS ABTMT | See ARR/DEP GRAPHICS Sec E. |
| RSTD | 24 hr PPR for Class A and B explosives and 4 hr PPR for other haz cargo in/out of arpt, fone C808-872-3830 1745-0230Z, OT C808-872-3888. Portions of commuter and scenic flt opr not vis fr twr. Commuter trml ramp rstd to acft 140,000 lb or l |
| RSTD | ess. Mil copter opr rstd to haz material area N Rwy 05-23. Area E of apch end Rwy 02 designated as copter opr area. No F/W acft may opr on helipad. PPR for F/W opr on helipad C808-872-3880 1515-0800Z. Access to helipad fr Twy C only. Ramp a |
| RSTD | rea E side of Rwy 02 under state auth. FAA not responsible for drct and ctl of gnd tfc in area. Tran prk lctd on NE sec of E ramp. |
EOF
doc.scan(/(.?)</Placemark>/m) { |e|
s = e.to_s
s =~ /(.?)</longitude>/m
long = $1
s =~ /(.?)</latitude>/m
lat = $1
s =~ /IATA:.?([A-Z0-9]{3})[^A-Z0-9]/m
code = $1
p "line: " + long + “:” + lat + “:” + code
s.match( /(.?)</longitude>.?
(.?)</latitude>.?
IATA:.*?([A-Z0-9]{3})[^A-Z0-9]/mx
) { |match|
p "match: " + $1 + “:” + $2 + “:” + $3
}
}