Provador Regex
Prova expressions regulars
Com usar Provador Regex
Prova expressions regulars Eina gratuïta en línia, sense registre, sense anuncis intrusius. Utilitza-la ara.
Per a qué serveixen les expressions regulars?
Les expressions regulars (regex) són patrons que coincideixen amb text. Dominar-les multiplica la productivitat d'un desenvolupador — tasques que requereixen 50 línies de manipulació de cadenes es poden resoldre amb una sola expressió regular ben construïda.
- Validació d'entrada: Valideu adreces de correu electrònic, números de telèfon espanyols (amb o sense prefix de país), codis postals de 5 xifres, NIF/NIE/CIF i contrasenyes contra regles de format antes de processar-los o emmagatzemar-los.
- Extracció de dades: Extraieu patrons específics del text — totes les URLs en un document, totes les dates en un fitxer de registre, tots els imports en euros (format 1.234,56 €) en un informe financer.
- Cerca i substitució avançada: Realitzeu transformacions complexes de text — reformateu les dates del format DD/MM/YYYY al format YYYY-MM-DD, anonimitzeu dades personals, normalitzeu els espais en blanc.
- Anàlisi de fitxers de registre: Analitzeu els registres d'Apache, Nginx o d'aplicació — extraieu adreces IP, codis d'error HTTP i marques de temps amb la coincidència de patrons per a la vigilància i les alertes.
- Refactorització de codi: Trobeu totes les crides de funció que coincideixen amb una signatura específica, identifiqueu l'ús d'APIs obsoletes en una base de codi o trobeu tots els comentaris TODO/FIXME dispersos en el projecte.
Patrons habituals en català/espanyol: Codi postal: \d{5}. Telèfon: (?:\+34|0034|34)?[6789]\d{8}. NIF: [0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKE]. Data ES: \d{2}/\d{2}/\d{4}. Correu: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}.
Frequently Asked Questions
Qué signifiquen els flags g, i, m i s en regex?
g (global): troba totes les coincidències, no només la primera. i (insensible a majúscules): coincideix independentment de la capitalització. m (multilínia): ^ i $ coincideixen amb l'inici/final de cada línia. s (dotAll): el punt (.) coincideix també amb els salts de línia. Els flags es combinen: /patró/gim troba totes les ocurrències sense distinció de majúscules en múltiples línies.
Quina diferència hi ha entre la coincidència greedy i lazy?
Els quantificadors greedy (+, *, {n,}) coincideixen tant com sigui possible. <.+> coincideix amb tota la cadena '<b>negreta</b>' com una sola coincidència. Els quantificadors lazy (+?, *?, {n,}?) coincideixen tan poc com sigui possible. <.+?> coincideix separadament amb '<b>' i '</b>'. Feu servir la coincidència lazy per extreure etiquetes HTML individuals.
Qué és un grup de captura vs un grup no capturador?
(patró) és un grup de captura — el text coincident s'emmagatzema i es pot referenciar com a $1, $2, etc. en les substitucions. (?:patró) és un grup no capturador — agrupa el patró per als quantificadors o l'alternança sense emmagatzemar la coincidència. Feu servir grups no capturadors quan no necessiteu el valor capturat.
Qué és un lookahead i un lookbehind?
Lookahead (?=patró) comprova que el que segueix coincideix amb el patró, sense consumir caràcters. Lookbehind (?<=patró) comprova el que precedeix. Versions negatives: (?!patró) i (?<!patró). Exemple: \d+(?=\s€) coincideix amb els números seguits de ' €' sense incloure '€' en la coincidència.
Per qué el meu regex funciona en JavaScript però no en Python?
Les variants de regex difereixen lleugerament entre els llenguatges. Python fa servir \A i \Z per al principi/final de cadena (vs ^ i $). Les cadenes raw de Python (r'patró') eviten el doble escapament de les barres inverses. JavaScript no suporta el lookbehind en motors més antics. PCRE (PHP, Perl) té funcionalitats no disponibles en tots els motors. Proveu sempre el regex en el llenguatge de destinació.
Regex vs mètodes de cadena vs parser vs IA
El regex és ideal per a la coincidència i l'extracció basades en patrons — potent però críptic per als que no el coneixen. Els mètodes de cadena (split, indexOf, slice) són més clars per a les operacions simples i s'haurien de preferir quan el regex seria desproporcionat. Els parsers dedicats (HTML, JSON, CSV) sempre són preferibles al regex per als formats estructurats — no analitzeu mai HTML amb regex. L'anàlisi assistida per IA gestiona el llenguatge natural ambigu on els patrons són imprevisibles. Feu servir l'eina més simple que resolgui el problema de manera segura.