[OSM-talk-fr] Regexp pour valider un nom de commune française
Charles Nepote
charles at nepote.org
Mar 28 Mar 16:01:03 UTC 2017
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
>
Plus d'informations sur la liste de diffusion Talk-fr