MKGMAP: Case Ignore bei Regular-Expression

Hallo,

ich habe in Overpass-Wizard folgende Abfrage gestellt:
amenity=fast_food and name~/.*MC.*DONALD.*/i

Damit habe ich alle McDonald’s Restaurant selektiert, unabhängig der Groß-/Kleinschreibung.

Nun versuche ich eine Abfrage in der POINT-Datei zu stellen.
Alle Versuche der Syntax scheiterten.

Kann man in MKGMAP keinen regularen Ausdruck mit Groß-/Kleinschreibung abfragen ?

Die einzige Schreibweise ist name~'.*[Mm][Cc].*[Dd][Oo][Nn][Aa][Ll][Dd].*'.
Diese Schreibweise ist jedoch sehr aufwändig.
Für einen Tipp wäre ich dankbar.

mkgmap ist in java geschrieben und wertet die regex entsprechend den dort vorandenen Regeln aus. Die genaue Syntax habe ich gerade nicht parat.
Schau z.B. hier:
https://codestory.de/10175/java-regular-expression

Edit: Mit dem prefix (?i) sollte es funktionieren. Wird im default style im include name verwendet:
ref ~ ‘(?i)fix[ _]?+me’ { delete ref; }

1 Like

@GerdP ,
Danke für den Hinweis, daß es die JAVA-Syntax ist.

Damit habe ich die korrekte Abfrage stellen können.
name~'(?i).*MC.*DONALD.*'

Hallo @GerdP,

bei Verwendung von Umlauten wäre der Parameter (?iu) für Unicode bei der Groß-/Kleinschreibung zu empfehlen.

z.B.: name~'(?iu).*BÄCKER.*'

Hallo,

ich muß die Case-Ignore-Frage nochmal stellen.
Diesmal nicht mit MKGMAP sondern mit OSMFILTER.

Weder
keep="name~'(?iu).*MC.*DONALD.*'"
noch
keep="name~/.*MC.*DONALD.*/i"
geben Daten zurück.

Wie filtere ich mit OSMFILTER die Daten (Groß-/Kleinschreibung) mit Regular Expression ?

Danke für einen Tip.

Eine Antwort hab ich nicht, aber es ist sicherlich sinnvoll, für die neuerliche Frage einen eigenen Thread zu eröffnen.

Ich finde weder auf der Webseite Osmfilter - OpenStreetMap Wiki noch im darin verlinkten Source einen Hinweis darauf, dass regular expressions überhaupt unterstützt werden.

Hallo @GerdP,

Danke für eine Antwort.
Das ist schade. :sleepy: