En JavaScript, les expressions rationnelles, également connues sous le nom de RegEx (pour Regular Expressions), sont des outils puissants pour rechercher et manipuler des chaînes de caractères selon des motifs spécifiques. Voici un aperçu de quelques expressions rationnelles avancées en JavaScript :
- Rechercher un mot spécifique dans une chaîne de caractères :
javascriptconst phrase = "Je veux en savoir beaucoup.";
const motRecherche = /beaucoup/;
console.log(motRecherche.test(phrase)); // Renvoie true si le mot "beaucoup" est présent dans la phrase
- Rechercher plusieurs occurrences d’un motif :
javascriptconst texte = "Il veut beaucoup de livres, beaucoup de films et beaucoup de musique.";
const motif = /beaucoup/g;
const occurrences = texte.match(motif);
console.log(occurrences); // Renvoie un tableau des occurrences du mot "beaucoup"
- Rechercher des mots qui commencent par une lettre spécifique :
javascriptconst phrase = "Je veux beaucoup de bonbons et des biscuits.";
const motif = /\bb\w+/g; // \b pour délimiter le début du mot, \w+ pour correspondre à un mot commençant par "b"
const motsCommencantParB = phrase.match(motif);
console.log(motsCommencantParB); // Renvoie un tableau contenant les mots commençant par "b"
- Rechercher des mots qui se terminent par une lettre spécifique :
javascriptconst phrase = "Les chiens aboient, les chats miaulent et les oiseaux chantent.";
const motif = /\w+e\b/g; // \w+ pour correspondre à un mot, \b pour délimiter la fin du mot
const motsSeTerminantParE = phrase.match(motif);
console.log(motsSeTerminantParE); // Renvoie un tableau contenant les mots se terminant par "e"
- Rechercher des adresses email :
javascriptconst texte = "Contactez-moi à l'adresse email suivante : [email protected]";
const motif = /\b[\w\.-]+@[\w\.-]+\.\w{2,}\b/g; // Un motif approximatif pour correspondre à une adresse email
const adressesEmail = texte.match(motif);
console.log(adressesEmail); // Renvoie un tableau contenant les adresses email trouvées dans le texte
- Validation d’un numéro de téléphone :
javascriptconst numero = "0123456789";
const motif = /^(0|\+33|0033)[1-9]([-. ]?[0-9]{2}){4}$/; // Un motif pour valider les numéros de téléphone en France
console.log(motif.test(numero)); // Renvoie true si le numéro de téléphone est valide selon le motif
- Remplacement de certains motifs dans une chaîne de caractères :
javascriptconst phrase = "Les pommes sont rouges, les bananes sont jaunes.";
const motif = /rouges|jaunes/g;
const nouvellePhrase = phrase.replace(motif, "vertes");
console.log(nouvellePhrase); // Remplace "rouges" et "jaunes" par "vertes" dans la phrase
Ces exemples illustrent quelques utilisations avancées des expressions rationnelles en JavaScript. Les expressions rationnelles offrent une grande flexibilité pour effectuer des opérations complexes de recherche et de manipulation de chaînes de caractères dans vos applications JavaScript.
Plus de connaissances
Bien sûr, explorons davantage les expressions rationnelles avancées en JavaScript :
- Utilisation de groupes de capture :
Les groupes de capture sont des sous-parties d’une expression régulière qui sont mises entre parenthèses. Ils permettent de capturer des parties spécifiques d’une chaîne de caractères correspondante. Par exemple :
javascriptconst texte = "Le prix du produit est de 25 euros.";
const motif = /Le prix du produit est de (\d+) euros/;
const resultat = texte.match(motif);
const prix = resultat[1]; // Capture le prix du produit
console.log(prix); // Renvoie "25"
- Utilisation de modificateurs :
Les modificateurs sont des indicateurs placés après le motif qui modifient le comportement de la recherche. Par exemple, le modificateuri
permet de rendre la recherche insensible à la casse :
javascriptconst texte = "Bonjour, bonsoir, BONJOUR.";
const motif = /bonjour/gi;
const occurrences = texte.match(motif);
console.log(occurrences); // Renvoie ["Bonjour", "bonjour", "BONJOUR"]
- Recherche de motifs alternatifs :
L’opérateur|
permet de rechercher des motifs alternatifs. Par exemple, pour rechercher des mots commençant par « a » ou « b » :
javascriptconst texte = "apple, banana, orange.";
const motif = /\ba\w+|\bb\w+/g;
const mots = texte.match(motif);
console.log(mots); // Renvoie ["apple", "banana"]
- Validation des formats de date :
Vous pouvez utiliser des expressions rationnelles pour valider les formats de date. Par exemple, pour valider une date au format « dd/mm/yyyy » :
javascriptconst date = "23/02/2024";
const motif = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
console.log(motif.test(date)); // Renvoie true si la date est au bon format
- Extraction des hashtags d’un texte :
Vous pouvez extraire les hashtags d’un texte à l’aide d’une expression régulière. Par exemple :
javascriptconst texte = "Ce tweet contient #JavaScript et #WebDevelopment.";
const motif = /#\w+/g;
const hashtags = texte.match(motif);
console.log(hashtags); // Renvoie ["#JavaScript", "#WebDevelopment"]
En combinant ces techniques et en explorant davantage les fonctionnalités des expressions rationnelles en JavaScript, vous pouvez créer des modèles de recherche et de validation complexes pour répondre à divers besoins dans vos applications web.