Mit dem Modul HTTPMOD möchte ich ein Containerschiff monitoren. Die erforderlichen daten werden in userReadings geschrieben und in einem Log gesammelt. Dazu benötige ich den Abfahrtshafen und den Zielhafen. Die dazugehörenden Elemente kommen zweimal vor.
Internetseite:
<span class="text-default text-darker">BRV</span>
(Abfahrtshafen) und wenig später:
<span class="text-default text-darker">WHV</span>
(Zielhafen)
Dankenswerterweise kommt die Klasse nur die beiden oberen Male vor. Die Regex
<span class="text-default text-darker">([A-Z]{3})</span>
liefert mir die Kennung des ersten Vorkommens, also Abfahrtshafen BRV.
Nun die Frage: Wie kommen ich an das zweite Vorkommen heran? Kömme ich überhaupt an das 2. Element ran?
Viele Grüße
Eberhard
Den Regex ausweiten, bis die beiden Angaben unterscheidbar sind. Ich nehme an, im Kontext wird noch irgendwas vorkommen, was zur Unterscheidung beiträgt.
Ich nicht sehr erfahren mit HTTPMOD, aber sollte nicht ein /g modifier in einer RegEx alle vorkommen liefern?
Grüße,
Oli
Ich habe auf mahowi gehört und mir die Umgebung der beiden Vorkommen nochmal genau angesehen. Das zweite Vorkommen hatte noch einige Whitespaces. Diese waren letztendlich das notwendige Unterscheidungsmerkmal.
Hier die Lösung (die whitespaces sind fett):
<span class="text-default">([A-Z]{2})</span><span class="text-default text-darker">[A-Z]{3}</span></a> /Das Abfahrtsland = 2 Großbuchstaben
<span class="text-default">[A-Z]{2}</span><span class="text-default text-darker">([A-Z]{3})</span></a> /Der Abfahrtshafen = 3 Großbuchstaben
<span class="text-default">([A-Z]{2})</span><span class="text-default text-darker">[A-Z]{3}</span>\s+</a> /Das Zielland = 2 Großbuchstaben
<span class="text-default">[A-Z]{2}</span><span class="text-default text-darker">([A-Z]{3})</span>\s+</a> /Der Zielhafen = 3 Großbuchstaben
Danke an euch Beiden.
Gruß Eberhard