Provador de Regex

Provi expressions regulars de JavaScript contra un text d'exemple, directament al seu navegador.

Patró
Indicadors (Flags)
Cadena de prova
Coincidències ressaltades
Introduïu un patró per provar-lo.

El patró i el text es proven al seu navegador. No es puja res a BroBroGo.

PMF

És segur enganxar el meu text aquí?

Sí. La cerca de coincidències es fa completament al seu navegador; no s'envia res a BroBroGo.

Què signifiquen els indicadors (flags) g/i/m/s?

g cerca totes les coincidències en lloc de només la primera. i ignora majúscules i minúscules. m fa que ^ i $ coincideixin amb l'inici i el final de cada línia en lloc de tota la cadena. s permet que el punt (.) també coincideixi amb els salts de línia.

Per què diu que el meu patró triga massa temps?

Alguns patrons provoquen un retrocés catastròfic (catastrophic backtracking): el motor prova un nombre exponencial de combinacions abans de desistir, cosa que pot congelar la pestanya del navegador. Aquesta eina cancel·la la cerca de coincidències després de 2 segons si això passa, de manera que la pàgina mai no es bloqueja. Intenteu simplificar les repeticions niades com ara (a+)+.

Funcionament del Provador de Regex

Aquesta eina permet provar expressions regulars de JavaScript contra un text d'exemple directament al navegador web. El sistema ressalta cada coincidència i grup de captura de manera instantània, fet que ajuda a visualitzar com es comporta l'expressió regular introduïda amb diferents entrades de text.

L'ús d'aquest provador és comú entre professionals que necessiten comprovar si una expressió regular identifica correctament patrons específics en un text, comprendre com afecten els diferents indicadors o flags al comportament de la cerca, depurar expressions regulars que puguin causar problemes de rendiment per retrocés catastròfic, o extreure parts específiques d'una cadena de caràcters mitjançant grups de captura.

Paràmetres d'entrada i configuració

Per utilitzar l'eina, s'han de definir els següents camps de l'interfície:

  • Patró: L'expressió regular que es vol avaluar. Un exemple de patró per defecte és \d+.
  • Indicadors (Flags): Modificadors que alteren el comportament de la cerca de l'expressió regular de JavaScript. Es poden activar o desactivar de forma individual:
    • g (Global): Cerca totes les coincidències en lloc de detenir-se després de trobar la primera.
    • i (No distingeix majúscules de minúscules): Ignora la diferència entre lletres majúscules i minúscules durant la cerca.
    • m (Multilínia): Fa que els àncores d'inici ^ i de final $ coincideixin amb el principi i el final de cada línia individual, en lloc de limitar-se a l'inici i al final de tota la cadena de text.
    • s (El punt coincideix amb salts de línia): Permet que el caràcter comodí punt . coincideixi també amb els caràcters de salt de línia.
  • Cadena de prova: El bloc de text sobre el qual s'aplicarà el patró definit. L'indicador visual inicial d'aquest camp és "Enganxeu o escrigui el text per provar-hi el patró".

Interpretació dels resultats i límits de visualització

Un cop s'introdueix el patró i el text de prova, l'eina processa les dades i genera les següents sortides:

  • Coincidències ressaltades: El text de prova original on es mostren gràficament les zones que coincideixen amb el patró.
  • Coincidències: Una llista detallada amb cadascun dels resultats obtinguts. Si s'han definit grups de captura dins del patró, cada coincidència pot desglossar els subgrups detectats sota l'etiqueta Grup {n}, on {n} representa el número de grup corresponent.
  • Coincidències: {count}: Un comptador que indica el nombre total de coincidències detectades en el text.
  • Caràcters: Mostra la longitud o nombre de caràcters del text analitzat.

El motor de cerca de l'eina opera sota unes regles i límits de visualització concrets per garantir l'estabilitat del navegador:

  • Si no es detecta cap coincidència amb el patró especificat, es mostra el missatge "Sense coincidències.".
  • Si la sintaxi de l'expressió regular conté errors que impedeixen la seva execució, es mostra l'avís "Expressió regular no vàlida.".
  • Si no s'activa l'indicador global g, el motor només cercarà i retornarà la primera coincidència trobada al text.
  • Quan l'indicador global g està activat, l'eina limita la cerca a un màxim de 1.000 coincidències totals.
  • Per evitar la sobrecàrrega visual, es mostra un màxim de 100 targetes de coincidència a la llista de resultats. Si se supera aquest límit de visualització, apareix la nota informativa "Es mostren les primeres {max}.".
  • L'usuari pot restablir l'eina prement el botó "Neteja", acció que buida els camps i mostra el missatge "S'ha netejat.".

Prevenció del retrocés catastròfic (Catastrophic Backtracking)

Un dels problemes més habituals en escriure expressions regulars és el disseny de patrons ineficients que provoquen un retrocés catastròfic (catastrophic backtracking). Això passa quan el motor de cerca de JavaScript ha d'avaluar un nombre exponencial de combinacions de camins possibles davant de determinades cadenes de text que gairebé coincideixen amb el patró, bloquejant el fil d'execució del navegador.

Per evitar que la pestanya de l'usuari es congeli, aquest provador incorpora un mecanisme de seguretat per temps de límit (timeout). Si un patró triga més de 2 segons a executar-se, el procés de cerca es cancel·la automàticament i es mostra el següent missatge d'error: "Aquest patró triga massa a executar-se; pot ser extremadament lent. Intenteu simplificar-lo.".

Privadesa de les dades

El disseny tècnic d'aquest provador prioritza la privadesa de la informació introduïda. El patró de cerca i el text de prova es processen localment dins del propi navegador de l'usuari. No es puja cap tipus de dada ni contingut als servidors de BroBroGo, garantint que l'anàlisi es realitza exclusivament en l'àmbit local del dispositiu.


Preguntes freqüents

És segur enganxar el meu text aquí?

Sí. La cerca de coincidències es fa completament al seu navegador; no s'envia res a BroBroGo.

Què signifiquen els indicadors (flags) g/i/m/s?

  • g cerca totes les coincidències en lloc de només la primera.
  • i ignora majúscules i minúscules.
  • m fa que ^ i $ coincideixin amb l'inici i el final de cada línia en lloc de tota la cadena.
  • s permet que el punt (.) també coincideixi amb els salts de línia.

Per què diu que el meu patró triga massa temps?

Alguns patrons provoquen un retrocés catastròfic (catastrophic backtracking): el motor prova un nombre exponencial de combinacions abans de desistir, cosa que pot congelar la pestanya del navegador. Aquesta eina cancel·la la cerca de coincidències després de 2 segons si això passa, de manera que la pàgina mai no es bloqueja. Intenteu simplificar les repeticions niades com ara (a+)+.