Regex für Koordinaten

Bei der Entwicklung von geoEarl stand ich vor der Herausforderung, dass ich Strings, welche geografische Koordinaten im Standard von geocaching.com beinhalten, auf Richtigkeit prüfen musste.

Also, z.B. N 48° 11.949′ E 014° 08.057′

Ich bin auf die folgenden zwei Regular Expressions gekommen.

Für die Nord/Süd-Koordinate:

(N|S|n|s)( )([0-9]|[0-8][0-9]|90)(°)( )([0-5][0-9]|[0-9])(\.)([0-9][0-9][0-9])(')

Für die West/Ost-Koordinate:

(W|E|w|e)( )([0-9]|[0-9][0-9]|0[0-9][0-9]|[0-1][0-7][0-9]|180)(°)( )([0-5][0-9]|[0-9])(\.)([0-9][0-9][0-9])(')

Hilfreiche Seite dazu waren:
http://txt2re.com
https://regex101.com