Whiz Tools

Provador de Patrons Regex

Copia

Resultats de la Coincidència

Introdueix un patró i text de prova per veure els resultats

Desa el Patró

Patrons Desats

Encara no hi ha patrons desats

Guia de Símbols Regex

.Coincideix amb qualsevol caràcter excepte nova línia
\dCoincideix amb qualsevol dígit (0-9)
\DCoincideix amb qualsevol no-dígit
\wCoincideix amb qualsevol caràcter de paraula (a-z, A-Z, 0-9, _)
\WCoincideix amb qualsevol caràcter que no sigui de paraula
\sCoincideix amb qualsevol caràcter d'espai en blanc
\SCoincideix amb qualsevol caràcter que no sigui d'espai en blanc
^Coincideix amb l'inici de la línia
$Coincideix amb la fi de la línia
*Coincideix amb 0 o més del caràcter precedent
+Coincideix amb 1 o més del caràcter precedent
?Coincideix amb 0 o 1 del caràcter precedent
{n}Coincideix amb exactament n del caràcter precedent
{n,}Coincideix amb almenys n del caràcter precedent
{n,m}Coincideix amb entre n i m del caràcter precedent
[abc]Coincideix amb qualsevol dels caràcters dins dels claudàtors
[^abc]Coincideix amb qualsevol caràcter que no estigui dins dels claudàtors
(abc)Agrupa múltiples tokens junts i captura la coincidència
a|bCoincideix amb a o b
\bCoincideix amb una posició de límit de paraula

Tester i validador de patrons Regex

Introducció

Un tester de patrons d'expressions regulars (regex) és una eina essencial per a desenvolupadors, analistes de dades i qualsevol persona que treballi amb processament de text. Aquest complet validador de patrons regex et permet crear, provar i refinar expressions regulars en temps real, proporcionant retroalimentació visual immediata sobre les coincidències de patrons. Tant si estàs validant adreces de correu electrònic, analitzant fitxers de registre o extraient dades específiques del text, el nostre tester regex fa que el procés de desenvolupament i depuració sigui més ràpid i intuïtiu.

Les expressions regulars són potents seqüències de coincidència de patrons que permeten cerques, validacions i manipulacions de text sofisticades. No obstant això, la seva sintaxi pot ser complexa i difícil de dominar. Aquest tester de patrons regex simplifica el procés destacant coincidències mentre escrius, validant la sintaxi del patró i permetent-te desar patrons que utilitzes amb freqüència per a futures referències.

Com utilitzar el tester de patrons Regex

Utilitzar el nostre validador de patrons regex és senzill i intuïtiu. Segueix aquests passos per començar:

  1. Introdueix un patró d'expressió regular: Escriu el teu patró regex al camp d'entrada designat. L'eina valida el teu patró en temps real, alertant-te de qualsevol error de sintaxi.

  2. Selecciona les banderes Regex: Tria les banderes apropiades per al teu patró:

    • g (Global): Troba totes les coincidències en lloc d'aturar-se després de la primera coincidència
    • i (Sense distinció de majúscules): Fes que el patró no distingeixi entre majúscules i minúscules
    • m (Multilinea): Fes que ^ i $ coincideixin amb l'inici/final de cada línia
    • Diverses combinacions d'aquestes banderes estan disponibles al menú desplegable
  3. Introdueix el text de prova: Escriu el text que vols provar contra el teu patró a l'àrea de text de prova.

  4. Visualitza els resultats en temps real: A mesura que escrius, l'eina automàticament:

    • Destaca totes les coincidències del patró al text de prova
    • Mostra el nombre total de coincidències trobades
    • Indica si el patró coincideix amb tot el text
  5. Desa patrons útils: Per als patrons que utilitzes amb freqüència:

    • Introdueix una etiqueta descriptiva per al teu patró
    • Fes clic al botó "Desa"
    • Accedeix als teus patrons desats des de la secció "Patrons desats"
  6. Copia els resultats: Utilitza el botó "Copia coincidències" per copiar tot el text coincident al teu porta-retalls per a la seva utilització en altres aplicacions.

La interfície es divideix en dos panells principals: el panell d'entrada on introdueixes el teu patró i text de prova, i el panell de resultats que mostra les coincidències i la informació del patró.

Fonaments de les Expressions Regulars

Les expressions regulars utilitzen caràcters i seqüències especials per definir patrons de cerca. Aquí tens una guia dels símbols regex fonamentals que suporta la nostra eina:

Coincidència de Caràcters

SímbolDescripcióExempleCoincideix
.Coincideix amb qualsevol caràcter excepte el salt de líniaa.c"abc", "adc", "a1c", etc.
\dCoincideix amb qualsevol dígit (0-9)\d{3}"123", "456", "789", etc.
\DCoincideix amb qualsevol no-dígits\D+"abc", "xyz", etc.
\wCoincideix amb qualsevol caràcter de paraula (a-z, A-Z, 0-9, _)\w+"abc123", "test_123", etc.
\WCoincideix amb qualsevol no-caràcter de paraula\W+"!@#", " + ", etc.
\sCoincideix amb qualsevol caràcter d'espai en blanca\sb"a b", "a\tb", etc.
\SCoincideix amb qualsevol no-caràcter d'espai en blanc\S+"abc", "123", etc.

Ancoratges de Posició

SímbolDescripcióExempleCoincideix
^Coincideix amb l'inici de la línia^abc"abc" al principi d'una línia
$Coincideix amb el final de la líniaabc$"abc" al final d'una línia
\bCoincideix amb un límit de paraula\bparaula\b"paraula" com a paraula completa

Quantificadors

SímbolDescripcióExempleCoincideix
*Coincideix amb 0 o més del caràcter precedenta*b"b", "ab", "aab", etc.
+Coincideix amb 1 o més del caràcter precedenta+b"ab", "aab", "aaab", etc.
?Coincideix amb 0 o 1 del caràcter precedentcolou?r"color", "colour"
{n}Coincideix exactament n del caràcter precedenta{3}"aaa"
{n,}Coincideix amb almenys n del caràcter precedenta{2,}"aa", "aaa", "aaaa", etc.
{n,m}Coincideix entre n i m del caràcter precedenta{2,4}"aa", "aaa", "aaaa"

Classes de Caràcters

SímbolDescripcióExempleCoincideix
[abc]Coincideix amb qualsevol dels caràcters entre els brackets[aeiou]"a", "e", "i", "o", "u"
[^abc]Coincideix amb qualsevol caràcter que no estigui entre els brackets[^aeiou]Qualsevol caràcter excepte "a", "e", "i", "o", "u"
[a-z]Coincideix amb qualsevol caràcter en l'interval[a-z]Qualsevol lletra minúscula

Agrupament i Alternança

SímbolDescripcióExempleCoincideix
(abc)Agrupa múltiples tokens junts i captura la coincidència(abc)+"abc", "abcabc", etc.
a|bCoincideix amb a o bgat|gos"gat", "gos"

Patrons Regex Avançats

Un cop hagis dominat els fonaments, pots crear patrons més sofisticats per resoldre desafiaments complexos de processament de text:

Validació d'Email

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Aquest patró valida adreces de correu electrònic assegurant-se que segueixin el format estàndard: nomdusuari@domini.tld.

Validació d'URL

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Aquest patró valida URLs, incloent aquelles amb o sense el protocol http/https.

Validació de Números de Telèfon (Format EUA)

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

Aquest patró coincideix amb números de telèfon dels EUA en diversos formats: (123) 456-7890, 123-456-7890 o 1234567890.

Validació de Dates (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Aquest patró valida dates en el format YYYY-MM-DD, amb una validació bàsica per als rangs de mesos i dies.

Lookahead i Lookbehind

Les afirmacions lookahead i lookbehind et permeten coincidir patrons només si són seguits o precedits per un altre patró:

  • Lookahead positiu: a(?=b) coincideix amb "a" només si és seguit de "b"
  • Lookahead negatiu: a(?!b) coincideix amb "a" només si no és seguit de "b"
  • Lookbehind positiu: (?<=a)b coincideix amb "b" només si és precedit per "a"
  • Lookbehind negatiu: (?<!a)b coincideix amb "b" només si no és precedit per "a"

Treballant amb Banderes Regex

El nostre tester regex suporta diverses banderes que modifiquen com es coincideixen els patrons:

  • g (Global): Troba totes les coincidències en lloc d'aturar-se després de la primera coincidència
  • i (Sense distinció de majúscules): Fes que el patró no distingeixi entre majúscules i minúscules
  • m (Multilinea): Fes que ^ i $ coincideixin amb l'inici/final de cada línia
  • Combinacions: Pots combinar banderes per a requisits de coincidència més complexos

Casos d'Ús per a la Prova de Patrons Regex

Les expressions regulars tenen nombroses aplicacions pràctiques en diferents camps:

Desenvolupament Web

  1. Validació de Formularis: Assegura't que les entrades d'usuari coincideixin amb formats requerits:

    • Adreces de correu electrònic: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Contrasenyes (amb requisits de complexitat): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URLs: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. Anàlisi HTML: Extreu elements o atributs específics:

    • Troba totes les etiquetes d'imatge: <img[^>]+src="([^">]+)"
    • Extreu enllaços: <a[^>]+href="([^">]+)"

Processament de Dades

  1. Anàlisi de Fitxers de Registre: Extreu informació d'entrades de registre:

    • Adreces IP: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Segells de temps: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Missatges d'error: ERROR: .*
  2. Anàlisi CSV: Processa valors separats per comes amb possibles camps entre cometes:

    • Coincideix amb camps CSV: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Processament de Text

  1. Trobar i Substituir: Identifica patrons per a la substitució:

    • Elimina etiquetes HTML: <[^>]*>
    • Formata números de telèfon: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Extracció de Contingut: Extreu informació específica de text no estructurat:

    • Extreu dates: \b(?:Gen|Feb|Mar|Abr|Maig|Jun|Jul|Ago|Sep|Oct|Nov|Des)\s+\d{1,2},\s+\d{4}\b
    • Troba valors monetaris: \$\d+(?:\.\d{2})?

Programació i Codi

  1. Destacament de Sintaxi: Identifica constructes de llenguatge:

    • Variables de JavaScript: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Definicions de funcions: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Refactorització de Codi: Troba patrons que necessiten actualització:

    • Crides d'API obsoletes: \.oldMethod\(
    • Funcions insegures: eval\(

Desant i Gestionant Patrons

El nostre tester de patrons regex inclou un sistema de gestió de patrons que et permet desar i reutilitzar les teves expressions que utilitzes amb freqüència:

Quan Desar Patrons

Considera desar patrons que:

  • Utilitzes amb freqüència a diferents projectes
  • Són complexos i difícils de recordar
  • Serveixen per a finalitats de validació específiques en la teva feina
  • Has refinat després de múltiples iteracions

Millors Pràctiques per a Etiquetes de Patró

Quan desis patrons, utilitza etiquetes descriptives que:

  • Indiquin la finalitat del patró (per exemple, "Validador d'Email")
  • Mencioni formats específics (per exemple, "Número de Telèfon dels EUA")
  • Inclogui informació de versió si iteres sobre els patrons (per exemple, "Validador d'URL v2")
  • Siguin concises però informatives

Organització de Patrons

Organitza els teus patrons desats per:

  • Funció (validació, extracció, substitució)
  • Domini (desenvolupament web, processament de dades)
  • Complexitat (bàsic, avançat)
  • Frequència d'ús

Compartició de Patrons

Encara que la nostra eina no suporta directament la compartició de patrons entre usuaris, pots:

  • Copiar patrons per compartir amb companys
  • Documentar els teus patrons en un repositori compartit
  • Incloure descripcions de patrons en la documentació del projecte

Resolució de Problemes Comuns amb Regex

Fins i tot els desenvolupadors experimentats s'enfronten a desafiaments amb les expressions regulars. Aquí tens solucions a problemes comuns:

Errors de Sintaxi

Si el teu patró mostra un error de validació:

  • Comprova si hi ha parèntesis, corxets o claus no coincidents
  • Assegura't que els caràcters especials estiguin correctament escapats amb una barra invertida
  • Verifica que els quantificadors tinguin un caràcter o grup precedent
  • Busca una sintaxi de classe de caràcters no vàlida

Problemes de Rendiment

Si el teu regex és lent o causa retard al navegador:

  • Evita l'ús excessiu de quantificadors anidats (per exemple, (a+)+)
  • Tingues cura amb lookaheads i lookbehinds en textos grans
  • Considera utilitzar patrons més específics en lloc de patrons amplis
  • Divideix patrons complexos en parts més petites i manejables

Coincidències Inesperades

Si el teu patró coincideix amb text no desitjat:

  • Utilitza ancoratges (^ i $) per coincidir amb cadenes senceres
  • Fes més específiques les classes de caràcters
  • Afegeix límits de paraula (\b) on sigui apropiat
  • Utilitza lookaheads negatius per excloure certs patrons

No s'han Trobat Coincidències

Si el teu patró no coincideix amb el text esperat:

  • Comprova si hi ha problemes de sensibilitat a majúscules (considera utilitzar la bandera i)
  • Verifica que els caràcters especials estiguin correctament escapats
  • Prova el teu patró en exemples simplificats primer
  • Assegura't que utilitzes les classes de caràcters correctes

Alternatives a les Expressions Regulars

Encara que regex és potent, no sempre és la millor solució per a cada tasca de processament de text:

Mètodes de Cadena

Per a operacions de text simples, els mètodes natius de cadena sovint són més clars i eficients:

  • String.indexOf() per trobar subcadenes
  • String.startsWith() i String.endsWith() per comprovar límits de cadena
  • String.split() per a la tokenització bàsica

Parsers Especialitzats

Per a formats de dades estructurades, els parsers dedicats són més robusts:

  • Parsers JSON per a dades JSON
  • Parsers XML/HTML per a llenguatges de marques
  • Parsers CSV per a dades tabulars

Processament de Llenguatge Natural (NLP)

Per a entendre el significat del text en lloc de només patrons:

  • Eines d'anàlisi de sentiments
  • Reconocimiento d'entitats nomenades
  • Etiquetatge de parts del discurs

Quan Escollir Alternatives

Considera alternatives a regex quan:

  • L'estructura del text és altament regular i simple
  • El format té un parser estàndard disponible
  • Necessites entendre el significat semàntic
  • El rendiment és crític per a textos molt grans

Preguntes Freqüents

Què és una expressió regular?

Una expressió regular (regex) és una seqüència de caràcters que defineix un patró de cerca. Aquests patrons es poden utilitzar per a cerques de cadenes, coincidències i operacions de manipulació de text.

Per què necessito un tester de patrons regex?

Un tester de patrons regex t'ajuda a desenvolupar i depurar expressions regulars proporcionant retroalimentació visual immediata sobre les coincidències, validant la sintaxi del patró i permetent-te experimentar amb diferents patrons i banderes sense haver d'implementar-los primer en codi.

Com coincideixo amb un caràcter especial literal com un punt o un asterisc?

Per coincidir amb caràcters especials literals que normalment tenen un significat especial en regex, necessites escapar-los amb una barra invertida. Per exemple, per coincidir amb un punt literal, utilitza \. en lloc de només ..

Quina és la diferència entre .* i .*? en un patró regex?

El .* és un quantificador greedy que coincideix amb tants caràcters com sigui possible, mentre que .*? és un quantificador lazy (no greedy) que coincideix amb el menor nombre de caràcters possible. Aquesta distinció és important quan vols trobar la coincidència més curta en lloc de la més llarga.

Puc utilitzar aquest tester regex per a patrons en qualsevol llenguatge de programació?

Encara que la sintaxi bàsica de regex és similar a través de molts llenguatges, hi ha subtils diferències en la seva implementació. El nostre tester utilitza el motor regex de JavaScript, que és compatible amb molts llenguatges web però pot tenir diferències amb regex en llenguatges com Python, Java o Perl.

Com valido una cadena sencera amb regex?

Per validar que una cadena sencera coincideixi amb un patró, utilitza l'ancora ^ al principi i l'ancora $ al final de la teva regex. Per exemple, ^[0-9]+$ només coincidirà amb cadenes que consisteixin completament en dígits.

Què són els grups de captura i com els utilitzo?

Els grups de captura, creats amb parèntesis (), et permeten extreure porcions específiques del text coincident. En el nostre tester, pots veure totes les coincidències, incloent-hi els grups capturats. En llenguatges de programació, normalment pots accedir a aquestes captures a través de l'indexació del resultat de la coincidència.

Com puc fer que els meus patrons regex siguin més eficients?

Per millorar l'eficiència de regex: sigues específic amb les classes de caràcters, evita grups de captura innecessaris (utilitza grups no capturants (?:...) quan sigui possible), limita l'ús de lookaheads/lookbehinds, i evita patrons de retrocés catastròfic com els quantificadors anidats.

Quins són els errors més comuns amb regex que cal evitar?

Els errors comuns inclouen: no escapar caràcters especials, crear patrons massa greedy, oblidar ancorar patrons (amb ^ i $), i escriure expressions excessivament complexes que són difícils de mantenir.

Pot regex manejar estructures anidades com HTML?

Les expressions regulars no són adequades per analitzar estructures anidades com HTML o XML. Encara que pots crear patrons regex per a coincidències HTML simples, és generalment millor utilitzar un parser HTML dedicat per al processament HTML complex.

Referències

  1. Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
  3. "Expressió regular." Wikipedia, Wikimedia Foundation, https://ca.wikipedia.org/wiki/Expressi%C3%B3_regular
  4. MDN Web Docs. "Expressions Regulars." Mozilla, https://developer.mozilla.org/ca/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Aprèn, Crea i Prova RegEx. https://regexr.com/

Prova el nostre tester de patrons regex avui per simplificar les teves tasques de processament de text, validar formats d'entrada i extreure dades significatives de text no estructurat. Tant si ets un principiants que aprèn els fonaments de les expressions regulars com si ets un desenvolupador experimentat treballant en coincidències de patrons complexes, la nostra eina proporciona les funcions que necessites per crear, provar i refinar els teus patrons regex de manera eficient.

Comentaris