Magic-Regexp : La bibliothèque qui rend les expressions régulières magiques

Magic-Regexp : La bibliothèque qui rend les expressions régulières magiques
crédit photo:  magic-regexp

Vous avez déjà eu des sueurs froides en voyant une expression régulière ? Vous avez déjà passé des heures à essayer de comprendre ce que signifiait cette suite de caractères incompréhensible ? Alors, laissez-moi vous présenter votre nouveau meilleur ami : Magic-Regexp.

Magic-Regexp est une bibliothèque qui rend les expressions régulières plus faciles à lire et à écrire. Elle offre une interface fluide qui vous permet de construire des expressions régulières comme si vous construisiez une phrase. C'est comme si vous aviez un traducteur personnel qui transforme vos pensées en expressions régulières.

L'installation : un coup de baguette magique

Pour commencer, installons Magic-Regexp.

Et comme pour toute bonne formule magique, il faut prononcer les bons mots. Dans votre terminal, tapez la commande suivante :

npm install magic-regexp

Et voilà, Magic-Regexp est maintenant prêt à être utilisé dans votre projet.

Adresse email

Pour notre premier tour de magie, nous allons identifier et capturer une adresse email dans un texte. Pour cela, nous allons utiliser la fonction createRegExp et le helper oneOrMore avec letter, digit, et quelques autres helpers.

import {
  createRegExp,
  letter,
  digit,
  exactly,
  maybe,
  oneOrMore,
  at,
  dot,
} from 'magic-regexp'

const emailRegExp = createRegExp(
  oneOrMore(
    letter
      .or(digit)
      .or(exactly('.'))
      .or(exactly('_'))
      .or(exactly('%'))
      .or(exactly('+')),
  ).then(
    at,
    oneOrMore(letter.or(digit).or(exactly('-'))).then(dot, oneOrMore(letter)),
  ),
)

const text = 'Mon adresse email est foo@test.com'
const match = text.match(emailRegExp)

console.log(match) // ['foo@test.com']

Et voilà, nous avons réussi à capturer l'adresse email dans notre texte !

Le numéro de téléphone

Pour notre deuxième tour de magie, nous allons identifier et capturer un numéro de téléphone dans un texte. Cette fois, nous allons utiliser les helpers digit et times.

import { createRegExp, digit, times, exactly } from 'magic-regexp'

const phoneRegExp = createRegExp(
  exactly('Mon numéro de téléphone est ').then(digit.times(10)),
)
const text = 'Mon numéro de téléphone est 0123456789'
const match = text.match(phoneRegExp)

console.log(match) // ['0123456789']

Et voilà, nous avons réussi à capturer le numéro de téléphone dans notre texte. Simple, non ?

Adresse IP

Pour notre dernier tour de magie, nous allons identifier et capturer une adresse IP dans un texte. Cette fois, nous allons utiliser les helpers exactly, digit, et between.

import { createRegExp, exactly, digit, between } from 'magic-regexp'

const ipPart = digit.times(1, 3).and(exactly('.'))
const ipRegExp = createRegExp(ipPart.times(3).then(digit.times(1, 3)))

const text = 'Mon adresse IP est 192.168.0.1'
const match = text.match(ipRegExp)

console.log(match) // ['192.168.0.1']

Et voilà, nous avons réussi à capturer l'adresse IP dans notre texte.

Magic-Regexp simplifie considérablement la création et la lecture des expressions régulières, rendant leur utilisation accessible même aux développeurs les plus novices. Essayez-la et voyez par vous-même à quel point elle peut rendre vos tâches de manipulation de texte beaucoup plus magiques !

Tags

  • javascript
  • regex

Cet article à été posté le