Provador de Patrons Regex
Resultats de la Coincidència
Introdueix un patró i text de prova per veure els resultats
Desa el Patró
Resultats de la Coincidència
Introdueix un patró i text de prova per veure els resultats
Patrons Desats
Encara no hi ha patrons desats
Guia de Símbols Regex
.
Coincideix amb qualsevol caràcter excepte nova línia\d
Coincideix amb qualsevol dígit (0-9)\D
Coincideix amb qualsevol no-dígit\w
Coincideix amb qualsevol caràcter de paraula (a-z, A-Z, 0-9, _)\W
Coincideix amb qualsevol caràcter que no sigui de paraula\s
Coincideix amb qualsevol caràcter d'espai en blanc\S
Coincideix 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ènciaa|b
Coincideix amb a o b\b
Coincideix amb una posició de límit de paraulaTester 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:
-
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.
-
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ènciai
(Sense distinció de majúscules): Fes que el patró no distingeixi entre majúscules i minúsculesm
(Multilinea): Fes que^
i$
coincideixin amb l'inici/final de cada línia- Diverses combinacions d'aquestes banderes estan disponibles al menú desplegable
-
Introdueix el text de prova: Escriu el text que vols provar contra el teu patró a l'àrea de text de prova.
-
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
-
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"
-
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ímbol | Descripció | Exemple | Coincideix |
---|---|---|---|
. | Coincideix amb qualsevol caràcter excepte el salt de línia | a.c | "abc", "adc", "a1c", etc. |
\d | Coincideix amb qualsevol dígit (0-9) | \d{3} | "123", "456", "789", etc. |
\D | Coincideix amb qualsevol no-dígits | \D+ | "abc", "xyz", etc. |
\w | Coincideix amb qualsevol caràcter de paraula (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", etc. |
\W | Coincideix amb qualsevol no-caràcter de paraula | \W+ | "!@#", " + ", etc. |
\s | Coincideix amb qualsevol caràcter d'espai en blanc | a\sb | "a b", "a\tb", etc. |
\S | Coincideix amb qualsevol no-caràcter d'espai en blanc | \S+ | "abc", "123", etc. |
Ancoratges de Posició
Símbol | Descripció | Exemple | Coincideix |
---|---|---|---|
^ | Coincideix amb l'inici de la línia | ^abc | "abc" al principi d'una línia |
$ | Coincideix amb el final de la línia | abc$ | "abc" al final d'una línia |
\b | Coincideix amb un límit de paraula | \bparaula\b | "paraula" com a paraula completa |
Quantificadors
Símbol | Descripció | Exemple | Coincideix |
---|---|---|---|
* | Coincideix amb 0 o més del caràcter precedent | a*b | "b", "ab", "aab", etc. |
+ | Coincideix amb 1 o més del caràcter precedent | a+b | "ab", "aab", "aaab", etc. |
? | Coincideix amb 0 o 1 del caràcter precedent | colou?r | "color", "colour" |
{n} | Coincideix exactament n del caràcter precedent | a{3} | "aaa" |
{n,} | Coincideix amb almenys n del caràcter precedent | a{2,} | "aa", "aaa", "aaaa", etc. |
{n,m} | Coincideix entre n i m del caràcter precedent | a{2,4} | "aa", "aaa", "aaaa" |
Classes de Caràcters
Símbol | Descripció | Exemple | Coincideix |
---|---|---|---|
[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ímbol | Descripció | Exemple | Coincideix |
---|---|---|---|
(abc) | Agrupa múltiples tokens junts i captura la coincidència | (abc)+ | "abc", "abcabc", etc. |
a|b | Coincideix amb a o b | gat|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
-
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 \.-]*)*\/?$
- Adreces de correu electrònic:
-
Anàlisi HTML: Extreu elements o atributs específics:
- Troba totes les etiquetes d'imatge:
<img[^>]+src="([^">]+)"
- Extreu enllaços:
<a[^>]+href="([^">]+)"
- Troba totes les etiquetes d'imatge:
Processament de Dades
-
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: .*
- Adreces IP:
-
Anàlisi CSV: Processa valors separats per comes amb possibles camps entre cometes:
- Coincideix amb camps CSV:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- Coincideix amb camps CSV:
Processament de Text
-
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
- Elimina etiquetes HTML:
-
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})?
- Extreu dates:
Programació i Codi
-
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*\(
- Variables de JavaScript:
-
Refactorització de Codi: Troba patrons que necessiten actualització:
- Crides d'API obsoletes:
\.oldMethod\(
- Funcions insegures:
eval\(
- Crides d'API obsoletes:
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 subcadenesString.startsWith()
iString.endsWith()
per comprovar límits de cadenaString.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
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Expressió regular." Wikipedia, Wikimedia Foundation, https://ca.wikipedia.org/wiki/Expressi%C3%B3_regular
- MDN Web Docs. "Expressions Regulars." Mozilla, https://developer.mozilla.org/ca/docs/Web/JavaScript/Guide/Regular_Expressions
- 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.