Les expressions régulières ou REGEX - N° sécu + RIBIBANBIC
Répondre #1 – 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. 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.
Quote Selected