[OSM-talk-fr] Regexp pour valider un nom de commune française

Christian Quest cquest at openstreetmap.fr
Mar 28 Mar 21:32:15 UTC 2017


Je ne suis pas chaud pour intégrer des logiques de typographie dans des 
logiques de contrôle de qualité des données.

A mon avis, c'est un traitement à faire en aval si l'on veut une 
impression propre, mais en général les données ne sont pas saisies avec 
ce type de caractères... c'est déjà bien quand on a les accents et pas 
que des majuscules, ne poussons pas le bouchon trop loin ;)


Le 28/03/2017 à 18:01, Charles Nepote a écrit :
> Le 28/03/2017 à 17:14, frem a écrit :
>> Bonjour,
>>
>> J’ajouterais bien l’apostrophe typographique (« ’ », U+2019) qui est 
>> le caractère que nous devrions utiliser pour les apostrophes 
>> (recommandation Unicode) et en plus c’est joli  :-) 
>> (http://www.brunobernard.com/des-textes-plus-elegants-avec-les-apostrophes-typographiques/).
>>
>> *Valides (communes existantes)**
>> *Saint-Martin-d’Hères
>> L’Île-Rousse
>>
>> PS : pour les linuxiens, si vous voulez vous extraire de la pauvreté 
>> typographique de l’AZERTY standard, je vous recommande le disposition 
>> de clavier « Français (variante) », qui rend disponible, par exemple, 
>> l’apostrophe typographique avec la combinaison de touche « AltGr + g ».
>>
> Merci frem. Je vais l'ajouter par acquis de conscience, sachant aussi 
> que certains traitements de texte l'ajoutent automatiquement, non ? 
> Des sachants pour confirmer ?
> Charles.
>
>
>> Le 28/03/2017 à 14:32, Charles Nepote a écrit :
>>> Je cherche donc à vérifier a minima la syntaxe d'un nom de commune à 
>>> travers une regexp. J'ai produit la regexp suivante qui passe mes 
>>> tests sauf qu'elle me semble un peu trop permissive. Toute remarque 
>>> ou aide appréciée :)
>>> (J'ai utilisé la forme "extended" qui permet d'étaler la regexp sur 
>>> plusieurs lignes et de la commenter.)
>>>
>>> /
>>> ^
>>> (                           # Débute par un article
>>>   Le\ |La\ |Les\ |Los\ |Aux\ |L'
>>>   |                         # ou
>>> )                           # rien
>>>
>>> ([A-ZÉÇŒÈÎ])                # Suivi d'une majuscule
>>>
>>> (                           # puis ...
>>>  ((-|                       #   un trait-d'union ou
>>>   \ |                       #   un espace ou
>>>   \ -\ |                    #   un espace suivi d'un trait d'union 
>>> suivi d'un espace ou
>>>   ')                        #   une apostrophe
>>>   [A-ZÉÇŒÈÎ])               #   suivi d'une majuscule
>>>  |                          #   ou bien
>>>  ('|-|\ |)                  #   une apostrophe ou un trait-d'union 
>>> ou un espace ou rien
>>>   [a-zàâéèêëïîÿôûüœç]       #   suivi d'une minuscule
>>> )*                          # 0 ou plusieurs fois
>>>
>>> (                           # terminé par
>>>   \ \([A-Z][a-z]*\)         # un espace suivi d'un mot entre 
>>> parenthèse débutant par une majuscule
>>>   |                         # ou
>>> )                           # rien
>>> $
>>> /gmx                        # global, multiline, extended
>>>
>>> Vous pouvez la retrouver et la tester ici : 
>>> https://regex101.com/r/knDFaB/4
>>
>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr


-- 
Christian Quest - OpenStreetMap France




Plus d'informations sur la liste de diffusion Talk-fr