Forum Puppy Linux - Toutou Linux - Astuces - Aide

Forum Francophone de Puppy/Toutou Linux => Fourre-tout ! => Discussion initiée par: Rantanplan le Jeudi 06 Janvier 2022, 17:33:30

Titre: Les expressions régulières ou REGEX
Publié par: Rantanplan le Jeudi 06 Janvier 2022, 17:33:30
Bonjour,

lors de mes pérégrinations, j'ai "trouvé" un site qui permet de s'initier aux expressions régulières.

On trouve les explications ICI (http://expreg.com/memo.php).

Les fiches sont accessibles à partir du menu général (en haut à gauche).

ET vous pouvez également trouver des REGEX toutes faites (http://expreg.com/source.php).
C'est orienté PHP, mais il y a probablement des idées intéressantes.

On peut aussi dénicher des infos sur le site de GEANY (https://geany.org/).
Il y a la documentation (https://geany.org/documentation/manual/) au format .txt (https://www.geany.org/manual/current/geany.txt) et .html (https://www.geany.org/manual/current/index.html) en pas français.
Et pour en savoir plus sur les expressions régulières supportées par Glib, il y a UNE PAGE DÉDIÉE (https://www.geany.org/manual/gtk/glib/glib-regex-syntax.html), toujours en pas français. :)

Mais, pas de miracle, et comme tout, il faut pratiquer.

Amusez-vous bien.

Amitiés.
Titre: Les expressions régulières ou REGEX - N° sécu + RIBIBANBIC
Publié par: Rantanplan le Vendredi 21 Janvier 2022, 10:36:45
Bonjour,

je me suis un peu amusé avec les expressions régulières.
À partir des contributions inspirantes des internautes, je vous propose quelques expressions régulières probablement améliorables.

Numéro sécurité sociale français :
Toutes les explications sont sur le site de Wikipédia France. (https://fr.wikipedia.org/wiki/Num%C3%A9ro_de_s%C3%A9curit%C3%A9_sociale_en_France)
Et le code qui permet de les trouver avec les séparateurs ".", "-", espace ou sans séparateur est livré ci-dessous :
\b[1-478][ .-]?(\d{2})[ .-]?(0[1-9]|1[0-2]|[23]\d|4[012]|[5-9]\d)[ .-]?(2[AB]|0[1-9]|[1-9]\d)[ .-]?(\d{3})[ .-]?(\d{3})[ .-]?(0[1-9]|[1-8]\d|9[0-7])\b
Où :
[1-478][ .-]? désigne le genre homme, femme ou en attente d'immatriculation,
(\d{2})[ .-]? correspond à l'année de naissance,
(0[1-9]|1[0-2]|[23]\d|4[012]|[5-9]\d)[ .-]? ici, c'est le mois de naissance, lorsque ce mois n'est pas connu sa valeur est égale ou supérieure aux intervalles 20-42 et 50 et 99,
(2[AB]|0[1-9]|[1-9]\d)[ .-]? là, c'est le département (France métro, hors métro et étranger = 99
(\d{3})[ .-]? c'est le code de la commune,
(\d{3})[ .-]? le numéro d'ordre de naissance dans le mois
(0[1-9]|[1-8]\d|9[0-7]) et enfin la clé qui va de 01 à 97.

RIB : Le relevé d'identité bancaire français :
Tout est expliqué, ou presque, sur Wikipédia. (https://fr.wikipedia.org/wiki/Basic_Bank_Account_Number)
L'expression régulière que je propose, probablement une possible parmi d'autres :
\b(\d{5}[ ./-]?)(\d{5}[ ./-]?)([[:alnum:]]{11})[ ./-]?(0[1-9]|[1-9][0-7])\b
Où :
(\d{5}[ ./-]?) est le code banque suivi d'un séparateur espace ou "." ou "/" ou "-" ou rien,
(\d{5}[ ./-]?) est le code guichet suivi d'un séparateur espace ou "." ou "/" ou "-" ou rien,
([[:alnum:]]{11})[ ./-]? là c'est le n° de compte qui peut contenir des lettres et des chiffres suivi d'un séparateur espace ou "." ou "/" ou "-" ou rien,
(0[1-9]|[1-9][0-7]) ben, tout simplement la clé RIB.

IBAN : Le numéro de compte bancaire international français
Encore et toujours Wikipédia (https://fr.wikipedia.org/wiki/International_Bank_Account_Number) pour tout savoir sur l'IBAN.
L'IBAN s'écrit par groupes de 4 caractères séparés par une espace ou sans espace.
Expression régulière proposée :
\bFR(0[2-9]|[1-9][0-8])[ ]?((\d{4}[ ]?){2}((\d){2})([[:alnum:]]{2}))[ ]?([[:alnum:]]{4}[ ]?){2}([[:alnum:]](0[1-9]|[1-9][0-7]))\b
Où :
FR(0[2-9]|[1-9][0-8])[ ]? pour le code pays, France en l'occurence, avec ou sans espace,
((\d{4}[ ]?){2} pour le code banque et 3 caractères du code guichet, avec ou sans espace,
((\d){2})([[:alnum:]]{2}))[ ]? pour les 2 derniers chiffres du code guichet + les 3 premiers caractères alphanumérique du n° de compte, avec ou sans espace,
([[:alnum:]]{4}[ ]?){2} pour deux groupes de 4 caractères alphanumériques du n° de compte, avec ou sans espace,
([[:alnum:]](0[1-9]|[1-9][0-7])) le dernier caractère alphanumérique du n° de compte et la clé RIB comprise entre 0-1 et 97.

BIC : Code d'identification des banques français
Une fois n'est pas coutume, je vous propose d'aller voir ici, c'est une surprise...;-) (https://fr.wikipedia.org/wiki/ISO_9362)
Proposition d'expression régulière :
\b([A-Z]{6})([[:alnum:]]{2})([[:alnum:]]{3})?\b
Où :
([A-Z]{6}) six lettres qui désignent la banque de manière unique et le pays,
([[:alnum:]]{2}) deux caractères alphanumériques pour le code emplacement,
([[:alnum:]]{3})? pour le code branche (si siège central national, ces caractères sont absents).

Pas sûr que ça serve à grand chose...
Juste pour le plaisir de se frotter aux expressions régulières.

En utilisant votre moteur de recherche préféré, de préférence pas gogol, avec le critère de recherche "expressions régulières regex", en cherchant bien vous trouverez peut-être des propositions de la communauté.

Amitiés.

Titre: Re : Les expressions régulières ou REGEX
Publié par: augras le Vendredi 21 Janvier 2022, 14:07:16
J'ai suivi pour le code sécu, mais là je vais à la sieste avant d'avoir mal à la tête :) !
Titre: Re : Les expressions régulières ou REGEX
Publié par: Rantanplan le Vendredi 21 Janvier 2022, 15:23:46
Oui, c'est tout sauf sexy  :)) .
Je me suis aussi emmêlé les neurones pour écrire la première expreg.
Simple Audio Video Embedder