Skip to content

Mustersuche (Regex) Mystery Cache

Hidden : 5/20/2016
Difficulty:
5 out of 5
Terrain:
3 out of 5

Size: Size:   small (small)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Related Web Page

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


Der Cache liegt nicht an den oben angegebenen Koordinaten!

Es handelt sich um ein Jagdgebiet, geht also suchen solange es hell ist. Dann ist auch die Aussicht reicher


Einleitung


Diese Einleitung ist zum Lösen des Rätsels nicht zwingend notwendig. Sie soll nur ein Grundverständnis dafür schaffen um was es hier eigentlich geht. Ungeduldige können sich auch direkt am Rätsel-Teil versuchen.

Sicher hat jeder von Euch schon mal einem Text nach irgendwelchen Informationen durchsucht. Solange der Suchbegriff bekannt ist, ist dies ja auch kein Problem. Doch was wenn man zwar weiß wie die gesuchte Information aussieht, der genaue Wert aber unbekannt ist?

In solchen Fällen können Suchmuster weiterhelfen. Wenn in diesem Listing von Suchmustern die Rede ist, dann sind damit reguläre Ausdrücke gemeint.

Das sagt die Wikipedia dazu:

Ein regulärer Ausdruck (englisch regular expression, Abkürzung RegExp oder Regex) ist in der theoretischen Informatik eine Zeichenkette, die der Beschreibung von Mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. Reguläre Ausdrücke finden vor allem in der Softwareentwicklung Verwendung. Neben Implementierungen in vielen Programmiersprachen verfügen auch viele Texteditoren über reguläre Ausdrücke in der Funktion „Suchen und Ersetzen".

OK, jetzt ist alles klar! Oder nicht?

Vielleicht wird es mit einem Beispiel verständlicher.
Wenn man einem Geocacher folgenden Text vorlegt "Der Cache liegt nicht bei N51 01.740 E 011°40.250 (wirklich nicht!)." und ihm die Anweisung gibt "suche aus dem Text die Koordinaten raus und markiere Gradzahl, Minute und den Teil nach dem Komma" dann wird er das wohl schnell hinbekommen, weil er ja weiß wie Koordinaten aussehen.

Bei längeren Texten dauert die manuelle Suche entsprechend länger und es besteht die Gefahr dass etwas übersehen wird (besonders wenn den Cacher die Lust verlässt ). Für solche stupiden Aufgaben sind Computer bestens geeignet.

Jetzt fragt ihr euch sicher wie man einem Computer beibringt wie Koordinaten aussehen? Richtig, mit regulären Ausdrücken! Damit lässt sich der Aufbau/das Format der gesuchten Information beschreiben.
Das folgende Suchmuster findet Koordinaten im Format Grad-Dezimalminute (nein, ich bin nicht auf der Tastatur eingeschlafen ):
[neswNESW]\s*(\d{1,3})(?:°\s*|\s+)(\d{1,2})[.,](\d{3})
Gibt man dem Computer dieses Suchmuster und den Text der durchsucht werden soll, dann erhält man als Ergebnis die Koordinate aus dem Text.

Für einen Laien sieht dieses "Dingsbums" sicher ziemlich kryptisch aus, deshalb versuche ich mal zu erklären wie es funktioniert.

  • [neswNESW] = Die eckigen Klammern definieren eine Zeichenauswahl (Möglichkeiten) für genau eines der angegebenen Zeichen. Eine Koordinate beginnt mit einem Zeichen für die Himmelrichtung, wobei die Groß-/Kleinschreibung egal ist.
  • \s* = „\s“ ist eine vordefinierte Zeichenauswahl für Whitespaces (Leerzeichen, Tab, …). Das „*“ ist ein sogenannter Quantifizierer. Diese bestimmen wie oft der voran gegangene Ausdruck zutreffen darf. Das Sternchen steht für beliebig oft (0 bis n). Zwischen der Himmelsrichtung und der Gradangabe dürfen also Whitespaces stehen (müssen aber nicht).
  • (\d{1,3}) = Die runden Klammern halten den Suchtreffer in einer sogenannten Gruppe fest, deren Wert im restlichen Suchmuster oder bei einer späteren Textersetzung referenziert werden kann. „\d“ ist eine vordefinierte Zeichenauswahl für Ziffern (0 bis 9). Das „{1,3}“ ist wieder ein Quantifizierer und steht für {min, max}. Für die Gradangabe sind eine bis drei aufeinander folgende Ziffern erlaubt.
  • (?:°\s*|\s+) = Ja ja, eben haben ich noch gesagt dass die runden Klammern eine Gruppe anlegen und jetzt stimmt es schon nicht mehr . Wenn direkt nach der öffnenden runden Klammer ein „?:“ steht wird der enthaltene Suchtreffer zwar gruppiert (bspw. für Quantifizierer) aber nicht in einer referenzierbaren Gruppe festgehalten. „°\s*“ steht für das Grad-Zeichen gefolgt von beliebig vielen Whitespaces und „\s+“ steht für mindestens ein Whitespace. Die beiden Angaben sind durch „|“ getrennt und deshalb Alternativen. Es kann also nur die eine ODER die andere Angabe zutreffen. Insgesamt sorgt das dafür dass die Gradangabe und die Dezimalminuten durch ein Grad-Zeichen und/oder Whitespaces voneinander getrennt sein müssen.
  • (\d{1,2}) = Eine oder zwei Ziffern hintereinander, festgehalten in einer Gruppe.
  • [.,] = Punkt oder Komma
  • (\d{3}) = Genau drei Ziffern hintereinander, festgehalten in einer Gruppe.

Wenn das Suchmuster etwas findet, steht in Gruppe1 die Gradangabe, in Gruppe2 die Minuten und in Gruppe3 der Teil nach dem Komma (Gruppen werden einfach nach ihrem Vorkommen im regulären Ausdruck von links nach rechts durchnummeriert).

Na das war doch für den Anfang gar nicht so schwer Der vollständige Regelsatz für reguläre Ausdrücke ist allerdings noch um einiges umfangreicher.

Mittlerweile gibt es zig Anwendungen die solche Suchmuster unterstützen. Leider haben nicht alle den gleichen Umfang und unterscheiden sich auch gerne mal in kleinen feinen Details.

Damit es nicht an der „falschen“ Anwendung scheitert: alle hier enthaltenen Suchmuster wurden online erstellt und getestet: https://regex101.com

Probiert das Suchmuster doch gleich mal mit dem oben genannten Testtext aus und schaut was sich an der Oberfläche so tut. Ihr wisst ja was gefunden werden soll. Wird es auch gefunden? Woran erkennt man das?

Richtet euch die Website wie folgt ein:


Rätsel


Wer sich bis hier durchgekämpft hat, hätte die Koordinaten eigentlich schon auf dem Silbertablett verdient aber nein...
Bevor es losgeht noch ein paar Hinweise:

  • für die (Ab)Schreibfaulen: Download als Excel-Tabelle
  • die Suchmustern enthalten keine Leerzeichen, alle Zeichen sind nacheinander weg geschrieben
  • achtet beim Einfügen auf der Website darauf dass sich am Anfang und Ende keine Leerzeichen oder Zeilenumbrüche einschleichen



Deine Lösung kannst du hier prüfen (im Checker gibt es noch Infos zum Weg):


Treppchen


Additional Hints (Decrypt)

[Indoor] Üorefpuarvqhatra [Outdoor] uvagre qrz Fgüzcspura rvarf Oähzpuraf

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)