Exercicis

Exercici 1: Extracció de dominis de correu electrònic

Objectiu: Crear un programa que extraga tots els dominis de correu electrònic (la part després del @) d’un text i mostrar-los per consola.

Detalls:

  • Utilitza una expressió regular per identificar les adreces de correu electrònic dins d’un text.
  • Utilitza els mètodes find() i group() per a extreure i mostrar només la part del domini.

Exemple d’entrada:

String text = "Els meus correus són joan@gmail.com, maria@universitat.es i pere@empresa.net";

Exemple de sortida:

Dominis trobats:
gmail.com
universitat.es
empresa.net

Exercici 2: Validació de números de targeta de crèdit

Objectiu: Escriure un programa que valide números de targeta de crèdit seguint un patró bàsic: quatre grups de quatre dígits separats per un guió (-) o un espai ( ).

Detalls:

  • La expressió regular ha de permetre tant números amb guions com amb espais, però no barrejats.
  • Utilitza matches() per verificar si el número és vàlid.

Exemple d’entrada:

String numero = "1234-5678-9123-4567";

Exemple de sortida:

El número de targeta és vàlid.

Exercici 3: Compta les paraules d’una frase

Objectiu: Crear un programa que conte quantes paraules té una frase utilitzant expressions regulars.

Detalls:

  • Una paraula es defineix com qualsevol seqüència de caràcters alfabètics ([A-Za-z]+).
  • Utilitza find() per comptar el nombre de paraules que compleixen amb aquest patró.

Exemple d’entrada:

String frase = "Això és un exercici senzill de Java.";

Exemple de sortida:

La frase té 6 paraules.

Aquí tens exemples de cadenes regex per a cadascun dels exercicis:

Extracció de dominis de correu electrònic:

Regex: (?<=@)[A-Za-z0-9.-]+\\.[A-Za-z]{2,}

  • Explicació:
    • (?<=@): Assegura que la coincidència apareix després d’un @ (això és un lookbehind, que busca però no captura el @).
    • [A-Za-z0-9.-]+: Coincideix amb una seqüència de caràcters alfanumèrics, punts (.) i guions (-).
    • \\.[A-Za-z]{2,}: Assegura que després del domini hi haja un punt (.) seguit de dues o més lletres (com .com o .es).

Validació de números de targeta de crèdit

Regex: ^(\\d{4}[- ]){3}\\d{4}$

  • Explicació:
    • ^ i $: Marquen l’inici i el final de la cadena, assegurant que tota la cadena ha de coincidir amb el patró.
    • (\\d{4}[- ]){3}: Coincideix amb tres grups de quatre dígits (\\d{4}), cadascun seguit per un guió (-) o un espai ( ).
    • \\d{4}: Assegura que hi haja un últim grup de quatre dígits sense cap separador al final.

Exercici 3: Compta les paraules d’una frase

Regex: [A-Za-zÀ-ÿ]+

  • Explicació:
    • [A-Za-zÀ-ÿ]+: Coincideix amb qualsevol seqüència de caràcters alfabètics, incloent lletres amb accents (À-ÿ).
    • El + assegura que trobem una o més lletres consecutives (definint una paraula).