Outils pour utilisateurs

Outils du site


tutoverpass:jour_6_expressions_regulieres_suite

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tutoverpass:jour_6_expressions_regulieres_suite [2020/08/17 18:54] – créée admintutoverpass:jour_6_expressions_regulieres_suite [2021/01/25 17:14] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Jour 6 — Expressions régulières (suite) ====== ====== Jour 6 — Expressions régulières (suite) ======
  
-La syntaxe ''[name~"[0-9]"]'' permet de trouver les noms contenant un nombre. On peut préciser le nombre de chiffres successifs avec des accolades. Ainsi la requête suivante trouve les rues dont le nom contient un nombre de 4 chiffres (généralement une année) :+La syntaxe ''[name~"[0-9]"]'' permet de trouver les noms **contenant un nombre**. On peut préciser le **nombre de chiffres** successifs avec des accolades. Ainsi la requête suivante trouve les rues dont le nom contient un nombre de 4 chiffres (généralement une année) :
  
 <code> <code>
Ligne 9: Ligne 9:
 </code> </code>
  
-Dans le même esprit, ''["addr:housenumber"~"[a-z]"]'' trouve les numéros d'adresses contenant au moins une lettre minuscule. Il est possible de combiner minuscules et majuscules :+Dans le même esprit, ''["addr:housenumber"~"[a-z]"]'' trouve les numéros d'adresses contenant **au moins une lettre** minuscule. Il est possible de combiner minuscules et majuscules :
  
 <code> <code>
Ligne 21: Ligne 21:
 </code> </code>
      
-retourne tous les numéros finissant par une lettre, mais ne dit rien des caractères précédents qui peuvent aussi être des lettres. Une possibilité est de préciser que l'adresse commence par au moins un chiffre ''(^[0-9]+)'', se termine par une lettre ''([a-zA-Z]$)'', qui peut être séparée ou pas par un espace ''( ?)''. On obtient donc la requête suivante :+retourne tous les numéros finissant par une lettre, mais ne dit rien des caractères précédents qui peuvent aussi être des lettres. Une possibilité est de préciser que l'adresse commence par au moins un chiffre ''(^[0-9]+)'', se termine par une lettre ''([a-zA-Z]$)'', qui peut être **séparée ou pas par un espace** ''( ?)''. On obtient donc la requête suivante :
  
 <code> <code>
Ligne 37: Ligne 37:
 L'affichage d'une étiquette est particulièrement utile pour vérifier qu'une expression régulière a bien l'effet attendu. L'affichage d'une étiquette est particulièrement utile pour vérifier qu'une expression régulière a bien l'effet attendu.
  
-Si on recherche un **caractère spécial** (notamment les caractères *+.*^$), il est nécessaire « d'échapper » chaque caractère en le faisant précéder de deux ''\'', par exemple pour trouver les commerces dont le nom contient ''...'' :+Si on recherche un **caractère spécial** (notamment les caractères ''*+.*^$''), il est nécessaire « d'échapper » chaque caractère en le faisant précéder de deux ''\'', par exemple pour trouver les commerces dont le nom contient ''%%...%%'' :
  
 <code> <code>
Ligne 43: Ligne 43:
 </code> </code>
  
-Pour finir, il est possible d'appliquer une expression régulière à la **clef** d'un tag, en plaçant une tilde avant la clef (qui doit alors être placée entre quotes). Cela est très utile pour les clefs utilisant un préfixe ou un suffixe. Cet exemple trouve les voies pour lesquelles un aménagement cyclable est décrit, que ce soit avec la clef ''cycleway'', ''cycleway:left'', '''cycleway:right'' ou ''cycleway:both'', quelle qu'en soit la valeur :+Pour finir, il est possible d'appliquer une expression régulière à la **clef** d'un tag, en plaçant une tilde avant la clef (qui doit alors être placée entre quotes). Cela est très utile pour les clefs utilisant un préfixe ou un suffixe. Cet exemple trouve les voies pour lesquelles un aménagement cyclable est décrit, que ce soit avec la clef ''cycleway'', ''cycleway:left'', ''cycleway:right'' ou ''cycleway:both'', quelle qu'en soit la valeur :
  
 <code> <code>
Ligne 52: Ligne 52:
  
   * Trouvez les rues dont le nom contient une date sous la forme « jour mois année » (ex : 8 mai 1945).   * Trouvez les rues dont le nom contient une date sous la forme « jour mois année » (ex : 8 mai 1945).
-  * Trouvez les adresses pour lequel le nom de ville (addr:city) est entièrement en majuscules.+  * Trouvez les adresses pour lequel le nom de ville (''addr:city'') est entièrement en majuscules.
   * Trouvez les rues où le stationnement est interdit (voir https://wiki.osm.org/wiki/FR:Key:parking:lane).   * Trouvez les rues où le stationnement est interdit (voir https://wiki.osm.org/wiki/FR:Key:parking:lane).
  
 © CC-by-sa Carto’Cité © CC-by-sa Carto’Cité
  
tutoverpass/jour_6_expressions_regulieres_suite.1597683284.txt.gz · Dernière modification : 2021/01/25 17:12 (modification externe)