AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein RegEx - Ich steig da nicht durch...
Thema durchsuchen
Ansicht
Themen-Optionen

RegEx - Ich steig da nicht durch...

Ein Thema von Mithrandir · begonnen am 20. Apr 2009 · letzter Beitrag vom 20. Apr 2009
 
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

RegEx - Ich steig da nicht durch...

  Alt 20. Apr 2009, 19:47
Hi ihr,

als Folge aus meinem letzten Thread habe ich jetzt mal die Zeit gefunden, mich um meinen OSM-Extractor zu kümmern. Die Klasse für die Datenbank ist aufgesetzt und wartet begierig darauf, endlich mit Daten gefüttert zu werden.

Ich hatte dunkel im Kopf, dass es für Delphi eine RegEx-Implementation gab, und, tadaa, ich hab sie auch gefunden.

Ein simpler Speedtest zwischen TRegExpr und PosEx brachte zumindest bei der Suche des Ausdrucks "<node" zu Tage, dass TRegExpr schneller ist. Also bieten sich reguläre Ausdrücke an.

Nun, den Kurs auf Regenechsen habe ich schon durch, die Syntax-Beschreibung zu der Komponente auch. Aber ich bekomme es nicht hin. Ich habe schon die unterschiedlichsten Kombinationen durchprobiert.

Dabei möchte ich eigentlich nur folgendes:

XML-Code:
<node id="297497923" lat="54.3298467" lon="10.053805" user="seawolff" visible="true" timestamp="2009-01-25T20:36:37+00:00"/>

<node id="303856929" lat="54.3283192" lon="10.0530744" user="desc" visible="true" timestamp="2008-11-16T12:43:49+00:00">
 <tag k="highway" v="turning_circle"/>
</node>

<way id="27730376" visible="true" timestamp="2009-01-01T20:19:47+00:00" user="nhoffm">
 <nd ref="304510582"/>
 <nd ref="304510583"/>
 <nd ref="304510584"/>
 <nd ref="304510585"/>
 <nd ref="304510586"/>
 <tag k="name" v="Kongsbergweg"/>
 <tag k="created_by" v="Potlatch 0.10f"/>
 <tag k="highway" v="footway"/>
</way>
Wie man sieht, gibt es eigentlich drei Möglichkeiten:
  • Entweder endet der Knoten mit einem "/>", oder
  • es befindet sich beim "node" - Knoten noch ein oder mehrere Elemente dazwischen, oder
  • es gibt einen anderen Tag, mit entsprechenden Unterelemente dazwischen

Ich verlange von dem Ausdruck ja nichtmal, dass er mir alles auflistet. Schön wäre, wenn der Ausdruck / die Ausdrücke folgende Aufgaben erfüllen könnten:
  • Gebe mir alles, was zwischen <node /> liegt.
  • Sollte "/>" nicht existieren, dann gib mir alles, was zwischen <node></node> liegt.
  • Gib mir alles, was zwischen <way></way> liegt.

Ich habe fast die Befürchtung, dass das Statement / die Statements so dermaßen komplex werden würde, dass es eigentlich gar nicht zu realisieren ist. Hat jemand ne Idee, wie ein entsprechendes Statement aussehen könnte?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz