Tester Regex, Explicator și Generator
Testează, explică pe înțelesul tuturor și generează expresii regulate din exemple fără latență. Include scut anti-ReDoS, grupuri de captură și teste unitare.
Instrumente OnlineExplicator Vizual pe Înțelesul Oricui
Treci cu mouse-ul peste orice pilulă vizuală de mai jos pentru a evidenția simultan segmentul exact în bara regex ȘI caracterele potrivite în textul de test.
^Ancoră([A-Z]{3})#1 Grup Captură-Text Literal(\d{4})#2 Grup Captură-Text Literal([A-Z0-9]{1,4})#3 Grup Captură$AncorăEditează jurnalele de test mai jos. Potrivirile complete sunt evidențiate în Smarald, iar Grupurile de Captură 1, 2 și 3 în Violet, Cyan și Chihlimbar.
[INV] #2026/0042 [ORD] #8841/X [SKU] #9948/A1 ERR_CONNECTION_TIMEOUT [LOG] #2025/0099
Inspector Potriviri și Grupuri de Captură Extrase(4)
Cum Folosești Testerul Regex, Explicatorul și Generatorul din Exemple
Ghid pas cu pas pentru sinteza șabloanelor, depanarea vizuală AST și testarea unitară:
Introdu o Expresie sau Alege un Bloc Vizual
Scrie expresia regulată în bara superioară sau apasă pe un Bloc Vizual Rapid (ID Alfanumeric, Email Tehnic, Adresă URL, IPv4, Dată YYYY-MM-DD, Culoare Hex, Parolă Puternică) pentru încărcare imediată.
Explorează Explicatorul Vizual pe Pilule
Treci cu mouse-ul peste orice pilulă colorată de sub bara de intrare (precum \d+ sau (\d{4})) pentru a citi explicația în limba română și a evidenția simultan segmentul regex și textul potrivit.
Verifică Evidențierea Multi-Strat în Text
În Spațiul Text Liber, urmărește potrivirile complete în nuanța Smarald și grupurile capturate $1 (Violet), $2 (Cyan) și $3 (Chihlimbar), alături de intervalul exact de index.
Generează Regex Automat din Exemple
Dacă nu cunoști sintaxa regex, deschide fila „Generator din Exemple”, introdu 2–5 coduri precum ORD-8841-X și ORD-1029-B și alege între Structură Exactă, Lungime Flexibilă sau Extractor.
Rulează Suita de Teste Unitare Multi-Șir
Comută pe „Suită Teste Multi-Șir” pentru a valida simultan șiruri care trebuie să se potrivească (+) și șiruri care trebuie respinse (–), vizualizând grupurile extrase în coloane dinamice.
Formatează cu $1–$3 și Exportă Codul
Folosește panoul „Înlocuire / Formatare” pentru a restructura datele în timp real și copiază codul sursă complet pentru JavaScript, TypeScript, Python, PHP, Go sau C#.
Întrebări Frecvente despre Expresii Regulate
Sfaturi practice despre diacritice, formatarea sumelor cu virgulă, grupuri de captură și prevenirea blocajelor:
Î:Cum pot potrivi corect cuvintele care conțin diacritice (ă, â, î, ș, ț) fără ca expresia să le trunchieze?
În mod implicit, scurtătura \w recunoaște doar literele din alfabetul englez de bază, cifrele și caracterul underscore ([A-Za-z0-9_]), oprindu-se în mijlocul cuvintelor cu diacritice. Pentru a include toate literele specifice limbii române, folosește o clasă explicită precum [a-zA-ZăâîșțĂÂÎȘȚ]+ sau activează indicatorul Unicode (u) împreună cu expresia \p{L}+, care recunoaște orice literă din orice alfabet.
Î:Cum mă ajută pilulele vizuale când trebuie să descifrez o expresie scrisă de altcineva?
Atunci când preiei o expresie lungă dintr-un proiect existent, este greu să vezi unde începe și unde se termină fiecare paranteză. Explicatorul împarte șablonul în piese colorate și traduce fiecare simbol pe înțelesul tău (de exemplu, afișează \d+ ca „Una sau mai multe cifre (0-9)”). Când ții cursorul pe o pilulă, vezi imediat atât bucata din expresie, cât și caracterele exacte pe care le prinde în text.
Î:Cum extrag corect sumele scrise cu punct la mii și virgulă la zecimale (ex: 1.250,50) fără erori?
Cea mai frecventă capcană în expresiile regulate este folosirea punctului simplu (.), care înseamnă „orice caracter”, nu doar semnul punct. Pentru numere cu separator de mii și două zecimale după virgulă, punctul trebuie precedat de bară inversă (\.), obținând șablonul \d{1,3}(?:\.\d{3})*,\d{2}. Astfel, expresia va accepta 1.250,50 sau 45,99, dar va respinge secvențe greșite precum 1X250,50.
Î:Când este mai practic să folosesc „Generatorul din Exemple” în loc să scriu șablonul manual?
Dacă ai o listă de coduri interne — cum ar fi serii de facturi (INV-2026-0042), coduri de produse (SKU-99481-A) sau identificatori de comenzi — este mult mai rapid să lipești 3–4 exemple în generator. Acesta păstrează automat prefixele fixe și calculează singur lungimea cifrelor sau a literelor, scutindu-te de numărarea manuală a caracterelor și de greșeli de sintaxă.
Î:De ce o expresie care funcționează instantaneu pe date corecte poate bloca aplicația la un singur rând greșit?
Fenomenul se numește Backtracking Catastrofal (ReDoS) și apare atunci când pui un cuantificator repetitiv în interiorul altui cuantificator repetitiv, cum ar fi (a+)+ sau (\w+)+. Dacă textul verificat conține un caracter neașteptat la final, motorul încearcă toate combinațiile posibile de împărțire a șirului, dublând timpul de lucru la fiecare caracter. Scutul nostru de 150ms oprește automat aceste bucle și îți arată cum să simplifici parantezele.
Î:Cum pot schimba rapid ordinea unei date din formatul YYYY-MM-DD în DD.MM.YYYY folosind acest instrument?
Încarcă blocul vizual „Dată YYYY-MM-DD”, care folosește grupuri cu nume: (?<year>\d{4})-(?<month>0[1-9]|1[0-2])-(?<day>0[1-9]|[12]\d|3[01]). Apoi deschide fila „Înlocuire / Formatare” și scrie în câmpul de formatare $<day>.$<month>.$<year> (sau $3.$2.$1). Toate datele din textul tău vor fi inversate și separate prin punct în timp real.
Ce este Tester Regex, Explicator și Generator?
Oricine a încercat să modifice o expresie regulată găsită într-un proiect mai vechi știe cât de ușor este să ștergi o paranteză sau un semn de întrebare și să strici întreaga validare. Acest Tester Regex, Explicator Vizual și Generator din Exemple a fost gândit exact pentru momentele în care vrei să vezi clar, pas cu pas, ce face fiecare simbol. Toată analiza rulează direct în browserul tău, astfel încât poți testa fără griji extrase de documente, jurnale de erori sau reguli de validare interne, fără ca datele să fie trimise vreodată pe internet.
De ce este mai simplu să lucrezi vizual decât să ghicești sintaxa
Când privești un șablon precum ^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$, ochiul obosește rapid să urmărească parantezele. În loc să testezi orbește, aici ai patru instrumente practice într-un singur loc:
- Traducere pe piese în limba română: Sub bara de căutare, expresia este împărțită automat în pilule colorate (de pildă,
\d+este explicat clar ca „Una sau mai multe cifre (0-9)”). Când pui cursorul pe o pilulă, vezi simultan atât bucata din șablon, cât și caracterele pe care le prinde în text. - Generator de Regex din Exemple: Nu vrei să scrii expresia de la zero? Lipește 2 până la 5 coduri reale (cum ar fi
INV-2026-0042șiINV-2025-1089), iar algoritmul deduce singur structura comună. - Tabel de teste pozitive și negative: În fila „Suită Teste Multi-Șir” poți verifica dintr-un foc că valorile corecte sunt acceptate (+), iar cele greșite (precum o dată inexistentă
2026-13-01) sunt respinse ferm (–). - Protecție de 150ms împotriva blocării (Anti-ReDoS): Dacă o expresie conține repetiții dublate de tipul
(a+)+care ar îngheța pagina, scutul oprește execuția în 150ms și îți oferă varianta corectă printr-un clic.
Șabloane Utile pentru Diacritice, Sume cu Virgulă și Serii de Documente
| Ce Vrei să Potrivești | Șablon Regex Recomandat | Cum Funcționează pe Înțelesul Tuturor | Exemplu de Text Capturat |
|---|---|---|---|
| Cuvinte cu diacritice românești | [a-zA-ZăâîșțĂÂÎȘȚ]+ | Include toate literele cu diacritice pe care scurtătura clasică \w le-ar sări. | Înregistrare, verificare, șablon |
| Sume cu punct la mii și virgulă | \d{1,3}(?:\.\d{3})*,\d{2} | Validează grupuri de câte 3 cifre separate prin punct exact (\.) și două zecimale după virgulă. | 1.250,50 / 48.900,00 / 95,99 |
| Dată calendaristică (ZZ.LL.AAAA) | (0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.(\d{4}) | Separă ziua ($1), luna ($2) și anul ($3) respingând din start lunile peste 12. | 02.11.2026 → Zi: 02, Lună: 11 |
| Serie și număr de factură | ^([A-Z]{2,4})-(\d{4})-(\d{4})$ | Izolează prefixul seriei, anul și numărul curent pe trei grupuri de captură distincte. | INV-2026-0042 → $1=INV, $3=0042 |
| Valută fără grup suplimentar | (\d+,\d{2})\s*(?:RON|EUR|USD) | Folosește (?:...) pentru a verifica moneda fără a ocupa un grup numerotat inutil. | 450,00 RON → $1 = "450,00" |
Exemplu Practic: Curățarea unui Export de Facturi și Standardizarea Datelor
Imaginează-ți că primești un fișier text extras dintr-un program de gestiune, unde fiecare rând arată astfel: Document: INV-2026-0042 | Data: 02.11.2026 | Total: 1.250,50, iar printre ele s-au strecurat și linii de eroare precum ERR_CONNECTION_TIMEOUT. Dacă aplici expresia (INV-\d{4}-\d{4}).*?(\d{2}\.\d{2}\.\d{4}).*?(\d{1,3}(?:\.\d{3})*,\d{2}), studioul îți va colora imediat codul facturii în Violet ($1), data în Cyan ($2) și suma în Chihlimbar ($3), ignorând complet erorile. Apoi, în fila Înlocuire / Formatare, poți scrie simplu $1;$2;$3 pentru a transforma tot textul într-un tabel curat, gata de importat în foaia de calcul.
Istorie și Origine
Deși astăzi le folosim aproape zilnic în orice limbaj de programare sau editor de cod, expresiile regulate nu au fost inventate de programatori. Ideea a pornit la mijlocul secolului XX din încercarea matematicienilor de a descrie, prin formule simple, modul în care rețelele logice reacționează la secvențe de semnale. Mult timp, această notație cu asteriscuri și paranteze a rămas un subiect pur teoretic în manualele despre automate cu stări finite.
Saltul către lumea practică s-a produs atunci când primele sisteme de operare aveau nevoie de o metodă rapidă pentru a căuta șabloane în fișiere text mari, pe calculatoare cu doar câțiva kiloocteți de memorie. Transformând expresia scrisă de utilizator într-un automat de căutare chiar în momentul execuției, utilitarele de linie de comandă au făcut ca sintaxa regex să devină indispensabilă. Mai târziu, limbajele moderne de scripting au adăugat grupurile de captură cu nume și verificările anticipate (lookarounds), transformând o veche notație matematică în cel mai versatil instrument de prelucrare a textului.