Expressions Régulières

De Raccourcis

Site[modifier]

Match[modifier]

Test en ligne
Rendu graphique d'une expression (pour la comprendre plus facilement)
Rendu détaillé d'une expression (pour analyse)

Replace[modifier]

Expressions[modifier]

Email[modifier]

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

URL[modifier]

À faire ...


Balises[modifier]

HTML[modifier]

Récupération du corps d'une balise (en vu de suppression par exemple) :

/(<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>)|(<!--.*?-->)/gim

IP[modifier]

Validation d'une IP v4

^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$

Numérique[modifier]

Tester[modifier]

Décimales facultatives :

([0-9]*)(\.[0-9]*)?

Plusieurs éléments obligatoires pour un même ensemble (ici minimum 8 caractère avec 2 décimal, 1 minuscule, 3 majuscule et 2 symboles parmi @#$%)  :

^(?=(?:.*\d){2,})(?=(?:.*[a-z]){1,})(?=(?:.*[A-Z]){3,})(?=(?:.*[@#$%]){2,}).{8,}$

Séparateur[modifier]

Pour replacement, ajouter tous les 3 chiffres un séparateur.

/(?=(?:\d{3})+$)(?!^)/g

Exemple JS :

Math.max(0, number).toFixed(0).replace(/(?=(?:\d{3})+$)(?!^)/g, '&nbsp;');

Téléphone[modifier]

Téléphone fixe

^0[^067][0-9]{8}$

Téléphone mobile

^(06|07)[0-9]{8}$

Téléphone fixe et mobile

^0[1-9][0-9]{8}$

NNI[modifier]

Numéro de sécurité sociale :

^[1-3][0-9]{4}(2[AB]|[0-9]{2})[0-9]{6}$

Plus complexe et plus proche des règles :

^[1-3][0-9]{2}(0[1-9]|10|[235-9][0-9]|[14][12])(2[AB]|[0-9]{2})[0-9]{6}$

Clef de sécurité sociale :

^([0-8][0-9]|9[0-7])$

Très complexe mais respectant les règles énoncées ici avec en plus des séparateurs optionnels :

^([1-3])[\s\.\-]?([0-9]{2})[\s\.\-]?(0[0-9]|[2-35-9][0-9]|[14][0-2])[\s\.\-]?(0[1-9]|[1-8][0-9]|9[0-57-9]|2[ab])[\s\.\-]?(00[1-9]|0[1-9][0-9]|[1-8][0-9]{2}|9[0-8][0-9]|990)[\s\.\-]?([0-9]{3})[\s\.\-]?([0-8][0-9]|9[0-7])$/gi

Département français[modifier]

^(([0-8][0-9])|(9[0-5])|(97[1-6])|(2[ab]))$

Programmation[modifier]

Inversion[modifier]

Inverser getter & setter :

Reg : ([^\s]*)\.set(.*)\(([^\.]*)\.get(.*)\(\) *\);
Par : \3.set\4\(\1.get\2\(\)\);

Remplacer des commentaires HTML par des commentaires JSP :

Reg : <!--(.*)-->
Par : <%--\1--%>