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évisionLes deux révisions suivantes
tutoverpass:jour_6_expressions_regulieres_suite [2020/08/17 18:54] – créée admintutoverpass:jour_6_expressions_regulieres_suite [2020/08/17 18:58] admin
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>
tutoverpass/jour_6_expressions_regulieres_suite.txt · Dernière modification : 2021/01/25 17:14 de 127.0.0.1