Regex Tester
Proveu i depureu les expressions regulars a l'instant al vostre navegador. Ressalteu les coincidències, visualitzeu els grups de captura i utilitzeu el mode de substitució: gratuït i privat.
Proveu i depureu les expressions regulars a l'instant al vostre navegador. Ressalteu les coincidències, visualitzeu els grups de captura i utilitzeu el mode de substitució: gratuït i privat.
Les expressions regulars són un llenguatge específic del domini per fer coincidir patrons en el text. Formen part de la informàtica des de 1968 i ara estan integrats en tots els llenguatges de programació moderns, editors de text i eines de cerca de línia d'ordres. La sintaxi és concisa però propensa a errors: els petits canvis produeixen un comportament de concordança subtilment diferent i les expressions complexes es tornen il·legibles ràpidament. Un provador que mostri coincidències en temps real mentre editeu el patró és la manera més eficaç de desenvolupar i verificar l'expressió regular.
Aquest provador s'executa al vostre navegador mitjançant el motor d'expressió regular de JavaScript (el mateix que utilitza la vostra aplicació si s'executa en un navegador). Els patrons i el text de prova s'actualitzen de manera reactiva: cada canvi a qualsevol torna a executar la coincidència. Els grups de coincidència es ressalten, s'enumeren els grups capturats i s'exposen les marques (insensible a majúscules i minúscules, multilínia, globals) per a la prova.
La sintaxi de regex varia subtilment entre els motors. JavaScript segueix l'especificació ECMAScript; Python, PCRE (utilitzat per PHP i molts altres), Java i Go tenen cadascun els seus propis dialectes amb característiques superposades però no idèntiques. Els patrons desenvolupats aquí utilitzen la sintaxi ECMAScript; La portabilitat entre motors requereix comprovar la documentació de cada objectiu.
Els errors de regex són notòriament difícils de depurar després del desplegament. Un patró que sembli raonable pot coincidir més o menys del previst, fallar en casos extrems o tenir un retrocés catastròfic en determinades entrades. La prova de patrons de manera interactiva amb inputs representatius detecta problemes abans de la revisió i producció del codi.
Els patrons també es beneficien de la documentació. Mostrar una expressió regular al costat de l'entrada que hauria de coincidir i l'entrada que no hauria de coincidir fa que la intenció sigui explícita. Els futurs mantenedors (inclou-vos-vos-hi d'aquí a sis mesos) aprecien més els casos de prova documentats que no pas els enginys d'una línia.
Escriviu un patró, escriviu l'entrada de prova, mireu les coincidències destacades en directe.
L'expressió regular de JavaScript segueix l'especificació ECMAScript. Característiques principals: classes de caràcters ([abc], [^abc]), quantificadors (*, +, ?, {n,m}), alternança (|), agrupació ((...)), grups de captura i no captura, lookahead i lookbehind (motors moderns), referències posteriors, grups amb nom, escapes de propietat Unicode (amb bandera u) i el conjunt estàndard de seqüències d'escapada.
Diferències importants amb PCRE i Python: el suport de lookbehind és recent a JavaScript (2018+); els grups amb nom utilitzen la sintaxi (?<nom>...); alguns escapes Unicode requereixen que la bandera u funcioni correctament. Els patrons destinats a l'ús entre llengües s'han de contrastar amb la documentació de cada objectiu.
Rendiment: els motors d'expressions regulars basats en retrocés (la majoria incloent JavaScript) poden tenir un retrocés catastròfic en determinats patrons patològics. Les proves que pengen el provador són un signe que el patró necessita simplificació, normalment evitant quantificadors imbricats i alternança ambigua.