Aller au contenu principal
Bienvenue sur Forum Puppy Linux - Toutou Linux - Astuces - Aides !
Lorsque vous n'êtes pas connectés vous pouvez visiter la totalité du forum mais avec certaines restrictions : cf le règlement pour les visiteurs non connectés. Vous êtes chaleureusement conviés à vous inscrire afin de bénéficier de toutes les fonctionnalités du forum et de participer aux échanges.
Sujet: Les expressions régulières ou REGEX (Lu 43 fois) sujet précédent - sujet suivant
0 Membres et 1 Invitédans ce sujet

Les expressions régulières ou REGEX

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.

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

ET vous pouvez également trouver des REGEX toutes faites.
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.
Il y a la documentation au format .txt et .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, toujours en pas français. :)

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

Amusez-vous bien.

Amitiés.
Vive Toutou Linux

Les expressions régulières ou REGEX - N° sécu + RIBIBANBIC

Répondre #1
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.
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.
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 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...;-)
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.

Vive Toutou Linux

Re : Les expressions régulières ou REGEX

Répondre #2
J'ai suivi pour le code sécu, mais là je vais à la sieste avant d'avoir mal à la tête :) !

Re : Les expressions régulières ou REGEX

Répondre #3
Oui, c'est tout sauf sexy  :)) .
Je me suis aussi emmêlé les neurones pour écrire la première expreg.
Vive Toutou Linux

 
Simple Audio Video Embedder