Benötige Hilfe bei Regular Expression
Hallo,
ich benötige hilfe bei einem Regularen Ausdruck:
dieser sollte wenn möglich ohne /ig auf zwei Zeilen einen treffer verursachen:
Gruß
Thomas
ich benötige hilfe bei einem Regularen Ausdruck:
/Koord[\.\s]+WGS-(?P<direction>[NE])[\s:]+(?P<coordinate>[0-9\.]+) /i
dieser sollte wenn möglich ohne /ig auf zwei Zeilen einen treffer verursachen:
Koord. WGS-E : 9.8247876439
Koord. WGS-N : 49.5694479485
Gruß
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 331982
Url: https://administrator.de/forum/benoetige-hilfe-bei-regular-expression-331982.html
Ausgedruckt am: 12.01.2025 um 09:01 Uhr
6 Kommentare
Neuester Kommentar
Hallo Thomas,
etwa so, würde ich sagen.
https://regex101.com/r/dknqWS/1
Grüße
rubberman
etwa so, würde ich sagen.
Koord\.\sWGS-[EW]\s:\s\d+\.\d+[\r\n]Koord\.\sWGS-[NS]\s:\s\d+\.\d+
Grüße
rubberman
Dann musst du es noch gruppieren. https://regex101.com/r/dknqWS/2
Von welcher Sprache reden wir denn?
EDIT:
Aus dem was du geschrieben hast zusammengereimt:
https://regex101.com/r/dknqWS/3
Von welcher Sprache reden wir denn?
EDIT:
Aus dem was du geschrieben hast zusammengereimt:
https://regex101.com/r/dknqWS/3
$koordinaten = ($treffer['direction']=='E') ? "$treffer['coordinate2'] $treffer['coordinate1']" : "$treffer['coordinate1'] $treffer['coordinate2']";
Hmm. Ich habe keine Ahnung von PHP, aber der verlinkte Regex-Tester ist auf PHP gestellt. Wenn du da versuchst beide Koordinaten nur mit <coordinate> zu benennen, gibt es einen Fehler. Probier's einfach selbst, du kannst dort nach Belieben ändern.
Du könntest natürlich ohne Named Captures arbeiten und herkömmlich per Index zugreifen. Das entspricht dann etwa meiner oben verlinkten Version 2.
Grüße
rubberman
Du könntest natürlich ohne Named Captures arbeiten und herkömmlich per Index zugreifen. Das entspricht dann etwa meiner oben verlinkten Version 2.
Grüße
rubberman
<?php
$string = "Koord. WGS-E : 9.8247876439\r\nKoord. WGS-N : 49.5694479485";
$result = preg_match('/^Koord\.\sWGS-(?<lng>[EW])\s*:\s*(?<lngwert>[\d\.]+)\s*^Koord\.\sWGS-(?<lat>[NS])\s*:\s*(?<latwert>[\d\.]+)/mi',$string,$matches);
if($result){
echo $matches['lng'] . $matches['lngwert'] . "," . $matches['lat'] . $matches['latwert'];
}else{
echo "No match";
}
?>