import Foundation
let pattern = #"GEOP\_(.*[_JGEM|_single_band])|(Present)\_(.*)\_Getech|^([a-zA-Z]+)\_([a-zA-Z0-9()-_ ]+)\_\.?(A[WE]\d{3}[SN]\d{3}_\d{3}[M]\d{4}[P]\d{2}[M]\d{3})[a-z]?\_(\d*[.]?\d*)?\_?(\d*[.]?\d*)?|^([a-zA-Z]+)\_(Palaeotopography_and_Palaeobathymetry|Palaeotopography_and_Paleobathymetry)\_(\d*[.]?\d*)\_(\d*[.]?\d*)|(.*)\_(Uplift_Accomodation)\_(\d*[.]?\d*)?\_?(\d*[.]?\d*)?\_(\d*[.]?\d*)?\_?(\d*[.]?\d*)?"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
GEOP_BA_JGEM
GEOP_BA_JGEM_single_band
GEOP_DEM_JGEM_single_band
GEOP_GRAV_AS_JGEM_single_band
GEOP_GRAV_FA_JGEM_single_band
GEOP_GRAV_Iso_1vd_HP100km_JGEM_single_band
GEOP_GRAV_Iso_1vd_HP40km_JGEM_single_band
GEOP_GRAV_Iso_1vd_JGEM_single_band
GEOP_GRAV_Iso_JGEM_single_band
GEOP_GRAV_THD_JGEM_single_band
GEOP_GRAV_THD_Tilt_JGEM_single_band
GEOP_GRAV_Tilt_JGEM_single_band
GEOP_MAGS_DRTP_1vd_JGEM
GEOP_MAGS_DRTP_AS_JGEM
GEOP_MAGS_DRTP_JGEM
GEOP_MAGS_DRTP_THD_JGEM
GEOP_MAGS_DRTP_THD_tilt_JGEM
GEOP_MAGS_DRTP_Tilt_JGEM
GEOP_MAGS_HP_100km_JGEM
GEOP_MAGS_HP_40km_JGEM
Present_Crustal_Type_Getech
Aalenian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE370S370_020M6040P01M020_172.25_0
Aalenian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE370S370_020M6041P01M020_172.25_0
Albian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE250S250_020M6040P01M010_106.75_0
Albian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE250S250_020M6041P01M010_106.75_0
Anisian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE460S460_020M6040P01M030_244.3_0
Anisian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE460S460_020M6041P01M030_244.3_0
Aptian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE260S260_020M6040P01M010_119.65_0
Aptian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE260S260_020M6041P01M010_119.65_0
Aquitanian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE090S090_020M6040P01M010_21.735_0
Aquitanian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE090S090_020M6041P01M010_21.735_0
Artinskian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE550S550_020M6040P01M030_284.7_0
Artinskian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE550S550_020M6041P01M030_284.7_0
Asselian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE570S570_020M6040P01M030_297.2_0
Asselian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE570S570_020M6041P01M030_297.2_0
Bajocian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE360S360_020M6040P01M020_169.3_0
Bajocian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE360S360_020M6041P01M020_169.3_0
Barremian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE270S270_020M6040P01M010_128.55_0
Barremian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE270S270_020M6041P01M010_128.55_0
Bartonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE130S130_020M6040P01M010_39.5_0
Bartonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE130S130_020M6041P01M010_39.5_0
Bathonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE350S350_020M6040P01M020_167.2_0
Bathonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE350S350_020M6041P01M020_167.2_0
Berriasian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE300S300_020M6040P01M010_142.2_0
Berriasian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE300S300_020M6041P01M010_142.2_0
Burdigalian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE080S080_020M6040P01M010_18.205_0
Burdigalian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE080S080_020M6041P01M010_18.205_0
Callovian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE340S340_020M6040P01M020_164.8_0
Callovian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE340S340_020M6041P01M020_164.8_0
Campanian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE200S200_020M6040P01M010_77.85_0
Campanian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE200S200_020M6041P01M010_77.85_0
Capitanian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE510S510_020M6040P01M030_262.45_0
Capitanian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE510S510_020M6041P01M030_262.45_0
Carnian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE440S440_020M6040P01M030_232.7_0
Carnian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE440S440_020M6041P01M030_232.7_0
Cenomanian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE240S240_020M6040P01M010_97.2_0
Cenomanian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE240S240_020M6041P01M010_97.2_0
Changhsingian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE490S490_020M6040P01M030_253.2_0
Changhsingian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE490S490_020M6041P01M030_253.2_0
Chattian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE100S100_020M6040P01M010_25.565_0
Chattian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE100S100_020M6041P01M010_25.565_0
Coniacian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE220S220_020M6040P01M010_88.05_0
Coniacian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE220S220_020M6041P01M010_88.05_0
Danian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE180S180_020M6040P01M010_63.8_0
Danian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE180S180_020M6041P01M010_63.8_0
Gelasian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE014S014_020M6040P01M010_2.2_0
Gelasian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE014S014_020M6041P01M010_2.2_0
Hauterivian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE280S280_020M6040P01M010_132.35_0
Hauterivian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE280S280_020M6041P01M010_132.35_0
Hettangian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE410S410_020M6040P01M020_200.3_0
Hettangian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE410S410_020M6041P01M020_200.3_0
Induan_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE480S480_020M6040P01M030_251.1_0
Induan_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE480S480_020M6041P01M030_251.1_0
Kimmeridgian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE320S320_020M6040P01M020_154.7_0
Kimmeridgian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE320S320_020M6041P01M020_154.7_0
Kungurian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE540S540_020M6040P01M030_275.8_0
Kungurian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE540S540_020M6041P01M030_275.8_0
Ladinian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE450S450_020M6040P01M030_239.25_0
Ladinian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE450S450_020M6041P01M030_239.25_0
Langhian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE070S070_020M6040P01M010_14.895_0
Langhian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE070S070_020M6041P01M010_14.895_0
Lutetian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE140S140_020M6040P01M010_44.5_0
Lutetian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE140S140_020M6041P01M010_44.5_0
Maastrichtian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE190S190_020M6040P01M010_69.05_0
Maastrichtian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE190S190_020M6041P01M010_69.05_0
Messinian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE040S040_020M6040P01M010_6.29_0
Messinian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE040S040_020M6041P01M010_6.29_0
Norian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE430S430_020M6040P01M030_218.95_0
Norian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE430S430_020M6041P01M030_218.95_0
Olenekian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE470S470_020M6040P01M030_248.55_0
Olenekian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE470S470_020M6041P01M030_248.55_0
Oxfordian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE330S330_020M6040P01M020_160.4_0
Oxfordian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE330S330_020M6041P01M020_160.4_0
Piacenzian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE020S020_020M6040P01M010_3.095_0
Piacenzian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE020S020_020M6041P01M010_3.095_0
Pleistocene_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE010S010_020M6040P01M010_0.91_0
Pleistocene_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE010S010_020M6041P01M010_0.91_0
Pliensbachian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE390S390_020M6040P01M020_186.75_0
Pliensbachian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE390S390_020M6041P01M020_186.75_0
Priabonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE120S120_020M6040P01M010_35.85_0
Priabonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE120S120_020M6041P01M010_35.85_0
Rhaetian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE420S420_020M6040P01M030_205.4_0
Rhaetian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE420S420_020M6041P01M030_205.4_0
Roadian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE530S530_020M6040P01M030_270.55_0
Roadian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE530S530_020M6041P01M030_270.55_0
Rupelian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE110S110_020M6040P01M010_31.0_0
Rupelian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE110S110_020M6041P01M010_31.0_0
Sakmarian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE560S560_020M6040P01M030_292.8_0
Sakmarian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE560S560_020M6041P01M030_292.8_0
Santonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE210S210_020M6040P01M010_84.95_0
Santonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE210S210_020M6041P01M010_84.95_0
Selandian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE170S170_020M6040P01M010_60.4_0
Selandian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE170S170_020M6041P01M010_60.4_0
Serravallian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE060S060_020M6040P01M010_12.72_0
Serravallian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE060S060_020M6041P01M010_12.72_0
Sinemurian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE400S400_020M6040P01M020_195.05_0
Sinemurian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE400S400_020M6041P01M020_195.05_0
Thanetian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE160S160_020M6040P01M010_57.6_0
Thanetian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE160S160_020M6041P01M010_57.6_0
Tithonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE310S310_020M6040P01M020_148.55_0
Tithonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE310S310_020M6041P01M020_148.55_0
Toarcian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE380S380_020M6040P01M020_178.45_0
Toarcian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE380S380_020M6041P01M020_178.45_0
Tortonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE050S050_020M6040P01M010_9.435_0
Tortonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE050S050_020M6041P01M010_9.435_0
Turonian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE230S230_020M6040P01M010_91.85_0
Turonian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE230S230_020M6041P01M010_91.85_0
Valanginian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE290S290_020M6040P01M010_136.65_0
Valanginian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE290S290_020M6041P01M010_136.65_0
Wordian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE520S520_020M6040P01M030_266.95_0
Wordian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE520S520_020M6041P01M030_266.95_0
Wuchiapingian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE500S500_020M6040P01M030_257.0_0
Wuchiapingian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE500S500_020M6041P01M030_257.0_0
Ypresian_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE150S150_020M6040P01M010_51.9_0
Ypresian_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE150S150_020M6041P01M010_51.9_0
Zanclean_Dissolved Oxygen at Saturation 138 m (Micromole-kg)_AE030S030_020M6040P01M010_4.465_0
Zanclean_Dissolved Oxygen at Saturation 1500 m (Micromole-kg)_AE030S030_020M6041P01M010_4.465_0
Aalenian_Mean Annual Precipitation-Evaporation (mm-day)_AE370S370_020M6389P01M020_172.25_0
Albian_Mean Annual Precipitation-Evaporation (mm-day)_AE250S250_020M6389P01M010_106.75_0
Anisian_Mean Annual Precipitation-Evaporation (mm-day)_AE460S460_020M6389P01M030_244.3_0
Aptian_Mean Annual Precipitation-Evaporation (mm-day)_AE260S260_020M6389P01M010_119.65_0
Aquitanian_Mean Annual Precipitation-Evaporation (mm-day)_AE090S090_020M6389P01M010_21.735_0
Artinskian_Mean Annual Precipitation-Evaporation (mm-day)_AE550S550_020M6389P01M030_284.7_0
Asselian_Mean Annual Precipitation-Evaporation (mm-day)_AE570S570_020M6389P01M030_297.2_0
Bajocian_Mean Annual Precipitation-Evaporation (mm-day)_AE360S360_020M6389P01M020_169.3_0
Barremian_Mean Annual Precipitation-Evaporation (mm-day)_AE270S270_020M6389P01M010_128.55_0
Bartonian_Mean Annual Precipitation-Evaporation (mm-day)_AE130S130_020M6389P01M010_39.5_0
Bathonian_Mean Annual Precipitation-Evaporation (mm-day)_AE350S350_020M6389P01M020_167.2_0
Berriasian_Mean Annual Precipitation-Evaporation (mm-day)_AE300S300_020M6389P01M010_142.2_0
Burdigalian_Mean Annual Precipitation-Evaporation (mm-day)_AE080S080_020M6389P01M010_18.205_0
Callovian_Mean Annual Precipitation-Evaporation (mm-day)_AE340S340_020M6389P01M020_164.8_0
Campanian_Mean Annual Precipitation-Evaporation (mm-day)_AE200S200_020M6389P01M010_77.85_0
Capitanian_Mean Annual Precipitation-Evaporation (mm-day)_AE510S510_020M6389P01M030_262.45_0
Carnian_Mean Annual Precipitation-Evaporation (mm-day)_AE440S440_020M6389P01M030_232.7_0
Cenomanian_Mean Annual Precipitation-Evaporation (mm-day)_AE240S240_020M6389P01M010_97.2_0
Changhsingian_Mean Annual Precipitation-Evaporation (mm-day)_AE490S490_020M6389P01M030_253.2_0
Chattian_Mean Annual Precipitation-Evaporation (mm-day)_AE100S100_020M6389P01M010_25.565_0
Coniacian_Mean Annual Precipitation-Evaporation (mm-day)_AE220S220_020M6389P01M010_88.05_0
Danian_Mean Annual Precipitation-Evaporation (mm-day)_AE180S180_020M6389P01M010_63.8_0
Gelasian_Mean Annual Precipitation-Evaporation (mm-day)_AE014S014_020M6389P01M010_2.2_0
Hauterivian_Mean Annual Precipitation-Evaporation (mm-day)_AE280S280_020M6389P01M010_132.35_0
Hettangian_Mean Annual Precipitation-Evaporation (mm-day)_AE410S410_020M6389P01M020_200.3_0
Induan_Mean Annual Precipitation-Evaporation (mm-day)_AE480S480_020M6389P01M030_251.1_0
Kimmeridgian_Mean Annual Precipitation-Evaporation (mm-day)_AE320S320_020M6389P01M020_154.7_0
Kungurian_Mean Annual Precipitation-Evaporation (mm-day)_AE540S540_020M6389P01M030_275.8_0
Ladinian_Mean Annual Precipitation-Evaporation (mm-day)_AE450S450_020M6389P01M030_239.25_0
Langhian_Mean Annual Precipitation-Evaporation (mm-day)_AE070S070_020M6389P01M010_14.895_0
Lutetian_Mean Annual Precipitation-Evaporation (mm-day)_AE140S140_020M6389P01M010_44.5_0
Maastrichtian_Mean Annual Precipitation-Evaporation (mm-day)_AE190S190_020M6389P01M010_69.05_0
Messinian_Mean Annual Precipitation-Evaporation (mm-day)_AE040S040_020M6389P01M010_6.29_0
Norian_Mean Annual Precipitation-Evaporation (mm-day)_AE430S430_020M6389P01M030_218.95_0
Olenekian_Mean Annual Precipitation-Evaporation (mm-day)_AE470S470_020M6389P01M030_248.55_0
Oxfordian_Mean Annual Precipitation-Evaporation (mm-day)_AE330S330_020M6389P01M020_160.4_0
Piacenzian_Mean Annual Precipitation-Evaporation (mm-day)_AE020S020_020M6389P01M010_3.095_0
Pleistocene_Mean Annual Precipitation-Evaporation (mm-day)_AE010S010_020M6389P01M010_0.91_0
Pliensbachian_Mean Annual Precipitation-Evaporation (mm-day)_AE390S390_020M6389P01M020_186.75_0
Priabonian_Mean Annual Precipitation-Evaporation (mm-day)_AE120S120_020M6389P01M010_35.85_0
Rhaetian_Mean Annual Precipitation-Evaporation (mm-day)_AE420S420_020M6389P01M030_205.4_0
Roadian_Mean Annual Precipitation-Evaporation (mm-day)_AE530S530_020M6389P01M030_270.55_0
Rupelian_Mean Annual Precipitation-Evaporation (mm-day)_AE110S110_020M6389P01M010_31.0_0
Sakmarian_Mean Annual Precipitation-Evaporation (mm-day)_AE560S560_020M6389P01M030_292.8_0
Santonian_Mean Annual Precipitation-Evaporation (mm-day)_AE210S210_020M6389P01M010_84.95_0
Selandian_Mean Annual Precipitation-Evaporation (mm-day)_AE170S170_020M6389P01M010_60.4_0
Serravallian_Mean Annual Precipitation-Evaporation (mm-day)_AE060S060_020M6389P01M010_12.72_0
Sinemurian_Mean Annual Precipitation-Evaporation (mm-day)_AE400S400_020M6389P01M020_195.05_0
Thanetian_Mean Annual Precipitation-Evaporation (mm-day)_AE160S160_020M6389P01M010_57.6_0
Tithonian_Mean Annual Precipitation-Evaporation (mm-day)_AE310S310_020M6389P01M020_148.55_0
Toarcian_Mean Annual Precipitation-Evaporation (mm-day)_AE380S380_020M6389P01M020_178.45_0
Tortonian_Mean Annual Precipitation-Evaporation (mm-day)_AE050S050_020M6389P01M010_9.435_0
Turonian_Mean Annual Precipitation-Evaporation (mm-day)_AE230S230_020M6389P01M010_91.85_0
Valanginian_Mean Annual Precipitation-Evaporation (mm-day)_AE290S290_020M6389P01M010_136.65_0
Wordian_Mean Annual Precipitation-Evaporation (mm-day)_AE520S520_020M6389P01M030_266.95_0
Wuchiapingian_Mean Annual Precipitation-Evaporation (mm-day)_AE500S500_020M6389P01M030_257.0_0
Ypresian_Mean Annual Precipitation-Evaporation (mm-day)_AE150S150_020M6389P01M010_51.9_0
Zanclean_Mean Annual Precipitation-Evaporation (mm-day)_AE030S030_020M6389P01M010_4.465_0
Burdigalian_Palaeotopography_and_Palaeobathymetry_18.205_0
Barremian_Palaeotopography_and_Palaeobathymetry_128.55_0
Tortonian_Palaeotopography_and_Palaeobathymetry_9.435_0
Kungurian_Palaeotopography_and_Palaeobathymetry_275.8_0
Danian_Palaeotopography_and_Palaeobathymetry_63.8_0
Ypresian_Palaeotopography_and_Palaeobathymetry_51.9_0
Turonian_Palaeotopography_and_Palaeobathymetry_91.85_0
Induan_Palaeotopography_and_Palaeobathymetry_251.1_0
Changhsingian_Palaeotopography_and_Palaeobathymetry_253.2_0
Norian_Palaeotopography_and_Palaeobathymetry_218.95_0
Cenomanian_Palaeotopography_and_Palaeobathymetry_97.2_0
Pliensbachian_Palaeotopography_and_Palaeobathymetry_186.75_0
Maastrichtian_Palaeotopography_and_Palaeobathymetry_69.05_0
Piacenzian_Palaeotopography_and_Palaeobathymetry_3.095_0
Rupelian_Palaeotopography_and_Palaeobathymetry_31_0
Rhaetian_Palaeotopography_and_Palaeobathymetry_205.4_0
Anisian_Palaeotopography_and_Palaeobathymetry_244.3_0
Messinian_Palaeotopography_and_Palaeobathymetry_6.29_0
Berrisian_Palaeotopography_and_Palaeobathymetry_142.2_0
Aalenian_Palaeotopography_and_Palaeobathymetry_172.25_0
Tithonian_Palaeotopography_and_Palaeobathymetry_148.55_0
Wordian_Palaeotopography_and_Palaeobathymetry_266.95_0
Zanclean_Palaeotopography_and_Palaeobathymetry_4.465_0
Albian_Palaeotopography_and_Palaeobathymetry_106.75_0
Campanian_Palaeotopography_and_Palaeobathymetry_77.85_0
Sinemurian_Palaeotopography_and_Palaeobathymetry_195.05_0
Olenekian_Palaeotopography_and_Palaeobathymetry_248.55_0
Ladinian_Palaeotopography_and_Palaeobathymetry_239.25_0
Serravallian_Palaeotopography_and_Palaeobathymetry_12.72_0
Thanetian_Palaeotopography_and_Palaeobathymetry_57.6_0
Langhian_Palaeotopography_and_Palaeobathymetry_14.895_0
Pleistocene_Palaeotopography_and_Palaeobathymetry_0.91_0
Sakmarian_Palaeotopography_and_Palaeobathymetry_292.8_0
Aptian_Palaeotopography_and_Palaeobathymetry_119.65_0
Capitanian_Palaeotopography_and_Palaeobathymetry_262.45_0
Callovian_Palaeotopography_and_Palaeobathymetry_164.8_0
Artinskian_Palaeotopography_and_Palaeobathymetry_284.7_0
Aquitanian_Palaeotopography_and_Palaeobathymetry_21.735_0
Asselian_Palaeotopography_and_Palaeobathymetry_297.2_0
Toarcian_Palaeotopography_and_Palaeobathymetry_178.45_0
Bathonian_Palaeotopography_and_Palaeobathymetry_167.2_0
Coniacian_Palaeotopography_and_Palaeobathymetry_88.05_0
Selandian_Palaeotopography_and_Palaeobathymetry_60.4_0
Lutetian_Palaeotopography_and_Palaeobathymetry_44.5_0
Hettangaian_Palaeotopography_and_Palaeobathymetry_200.3_0
Priabonian_Palaeotopography_and_Palaeobathymetry_35.85_0
Oxfordian_Palaeotopography_and_Palaeobathymetry_160.4_0
Gelasian_Palaeotopography_and_Palaeobathymetry_2.2_0
Wuchiapingian_Palaeotopography_and_Palaeobathymetry_257_0
Bajocian_Palaeotopography_and_Palaeobathymetry_169.3_0
Carnian_Palaeotopography_and_Palaeobathymetry_232.7_0
Valaginian_Palaeotopography_and_Palaeobathymetry_136.65_0
Santonian_Palaeotopography_and_Palaeobathymetry_84.95_0
Hauterivian_Palaeotopography_and_Palaeobathymetry_132.35_0
Chattian_Palaeotopography_and_Palaeobathymetry_25.565_0
Kimmeridgian_Palaeotopography_and_Palaeobathymetry_154.7_0
Roadian_Palaeotopography_and_Paleobathymetry_270.55_0
Bartonian_Palaeotopography_and_Palaeobathymetry_39.5_0
Aalenian_Toarcian_Uplift_Accomodation_172.25_0_178.45_0
Albian_Aptian_Uplift_Accomodation_106.75_0_119.65_0
Anisian_Olenekian_Uplift_Accomodation_244.3_0_248.55_0
Aptian_Barremian_Uplift_Accomodation_119.65_0_128.55_0
Aquitanian_Chattian_Uplift_Accomodation_21.735_0_25.565_0
Artinskian_Sakmarian_Uplift_Accomodation_284.7_0_292.8_0
Bajocian_Aalenian_Uplift_Accomodation_169.3_0_172.25_0
Barremian_Hauterivian_Uplift_Accomodation_128.55_0_132.35_0
Bartonian_Lutetian_Uplift_Accomodation_39.5_0_44.5_0
Bathonian_Bajocian_Uplift_Accomodation_167.2_0_169.3_0
Berrisian_Tithonian_Uplift_Accomodation_142.2_0_148.55_0
Burdigalian_Aquitanian_Uplift_Accomodation_18.205_0_21.735_0
Callovian_Bathonian_Uplift_Accomodation_164.8_0_167.2_0
Campanian_Santonian_Uplift_Accomodation_77.85_0_84.95_0
Capitanian_Wordian_Uplift_Accomodation_262.45_0_266.95_0
Carnian_Ladinian_Uplift_Accomodation_232.7_0_239.25_0
Cenomanian_Albian_Uplift_Accomodation_97.2_0_106.75_0
Changhsingian_Wuchiapingian_Uplift_Accomodation_253.02_0_257.0_0
Chattian_Rupelian_Uplift_Accomodation_25.565_0_31_0
Coniacian_Turonian_Uplift_Accomodation_88.05_0_91.85_0
Danian_Maastrichtian_Uplift_Accomodation_63.8_0_69.05_0
Gelasian_Piacenzian_Uplift_Accomodation_2.2_0_3.095_0
Hauterivian_Valaginian_Uplift_Accomodation_132.35_0_136.65_0
Hettangaian_Rhaetian_Uplift_Accomodation_200.3_0_205.4_0
Induan_Changhsingian_Uplift_Accomodation_251.1_0_253.02_0
Kimmeridgian_Oxfordian_Uplift_Accomodation_154.7_0_160.4_0
Kungurian_Artinskian_Uplift_Accomodation_275.8_0_284.7_0
Ladinian_Anisian_Uplift_Accomodation_239.25_0_244.3_0
Langhian_Burdigalian_Uplift_Accomodation_14.895_0_18.205_0
Lutetian_Ypresian_Uplift_Accomodation_44.5_0_51.9_0
Maastrichtian_Campanian_Uplift_Accomodation_69.05_0_77.85_0
Messinian_Tortonian_Uplift_Accomodation_6.29_0_9.435_0
Norian_Carnian_Uplift_Accomodation_218.95_0_232.7_0
Olenekian_Induan_Uplift_Accomodation_248.55_0_251.1_0
Oxfordian_Callovian_Uplift_Accomodation_160.4_0_164.8_0
Piacenzian_Zanclean_Uplift_Accomodation_3.095_0_4.465_0
Pleistocene_Gelasian_Uplift_Accomodation_0.91_0_2.2_0
Pliensbachian_Sinemurian_Uplift_Accomodation_186.75_0_195.05_0
Priabonian_Bartonian_Uplift_Accomodation_35.85_0_39.5_0
Rhaetian_Norian_Uplift_Accomodation_205.4_0_218.95_0
Roadian_Kungurian_Uplift_Accomodation_270.55_0_275.8_0
Rupelian_Priabonian_Uplift_Accomodation_31_0_35.85_0
Sakmarian_Asselian_Uplift_Accomodation_292.8_0_297.2_0
Santonian_Coniacian_Uplift_Accomodation_84.95_0_88.05_0
Selandian_Danian_Uplift_Accomodation_60.4_0_63.8_0
Serravallian_Langhian_Uplift_Accomodation_12.72_0_14.895_0
Sinemurian_Hettangaian_Uplift_Accomodation_195.05_0_200.3_0
Thanetian_Selandian_Uplift_Accomodation_57.6_0_60.4_0
Tithonian_Kimmeridgian_Uplift_Accomodation_148.55_0_154.7_0
Toarcian_Pliensbachian_Uplift_Accomodation_178.45_0_186.75_0
Tortonian_Serravallian_Uplift_Accomodation_9.435_0_12.72_0
Turonian_Cenomanian_Uplift_Accomodation_91.85_0_97.2_0
Valaginian_Berrisian_Uplift_Accomodation_136.65_0_142.2_0
Wordian_Roadian_Uplift_Accomodation_266.95_0_270.55_0
Wuchiapingian_Capitanian_Uplift_Accomodation_257.00_0_262.45_0
Ypresian_Thanetian_Uplift_Accomodation_51.9_0_57.6_0
Zanclean_Messinian_Uplift_Accomodation_4.465_0_6.29_0
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\1|\2|\3|\4|\5|\6|\7|\8|\9|\10|\11|\12|\13|\14|\15|\16|\17|\18"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
print(result)
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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression