DevToys Web Pro iconDevToys Web ProBlog
Evaluează-ne:
Încearcă extensia de browser:

Tester de expresii regulate

Configurare

Model

Șir de test

  • Potriviri

    Introduceți un model pentru a vedea potrivirile

    Înlocuire

    Referință

    Clase de caractere

    .Orice caracter, cu excepția liniei noi
    [abc]Potrivește a, b sau c
    [^abc]Potrivește orice, cu excepția a, b, c
    [a-z]Interval de caractere (a până la z)
    \dCifră (0-9)
    \DNon-cifră
    \wCaracter de cuvânt [a-zA-Z0-9_]
    \WCaracter non-cuvânt
    \sSpațiu alb
    \SNon-spațiu alb

    Ancore

    ^Începutul șirului/liniei
    $Sfârșitul șirului/liniei
    \bLimită de cuvânt
    \BNon-limită de cuvânt

    Caractere escape

    \tTabulator
    \nLinie nouă
    \rRetur de caret
    \0Caracter nul
    \xhhCaracter hexazecimal (de ex. \xFF)
    \uhhhhCaracter Unicode

    Grupuri și referințe

    (abc)Grup de capturare
    (?:abc)Grup fără capturare
    (?<name>abc)Grup de capturare numit
    \1Referință inversă la grupul 1
    \k<name>Referință inversă la grupul numit

    Lookaround

    (?=abc)Lookahead pozitiv
    (?!abc)Lookahead negativ
    (?<=abc)Lookbehind pozitiv
    (?<!abc)Lookbehind negativ

    Cuantificatori și alternare

    a*0 sau mai multe (greedy)
    a+1 sau mai multe (greedy)
    a?0 sau 1 (opțional)
    a{n}Exact de n ori
    a{n,}De n ori sau mai mult
    a{n,m}Între n și m ori
    a*?0 sau mai multe (lazy)
    a+?1 sau mai multe (lazy)
    a|bPotrivește a sau b

    Substituție

    $1, $2Conținutul grupului capturat
    $&Potrivirea completă
    $`Înainte de potrivire
    $'După potrivire
    $$Caracterul $ literal
    Detalii tehnice

    Cum funcționează testerul RegEx

    Ce face instrumentul

    Testerul regex îți permite să testezi expresii regulate pe text de probă în timp real. Funcționează atât ca depanator regex, cât și ca validator regex, ajutând dezvoltatorii să construiască, să testeze și să rafineze expresii de potrivire a tiparelor. Acest tester folosește motorul JavaScript RegExp (ECMAScript), astfel că sintaxa poate diferi de motoarele regex PCRE, .NET sau Java. Când ai nevoie să testezi regex online, acest instrument afișează toate potrivirile, grupurile de captură și înlocuirile. Instrumentul acceptă sintaxa regex JavaScript, inclusiv flag-urile regex JavaScript (g, i, m, s, u): global (g), insensibil la majuscule/minuscule (i), multiline (m), dotAll (s) și unicode (u). Evidențiază potrivirile în șirul de test, afișează grupurile de captură și poate efectua operații de căutare-și-înlocuire pentru a previzualiza cum ar transforma un regex textul.

    Cazuri de utilizare comune pentru dezvoltatori

    Dezvoltatorii folosesc testere regex când construiesc tipare de validare, parsează fișiere de log sau extrag date din șiruri. Testarea tiparelor regexp ajută la identificarea cazurilor-limită, depanarea expresiilor complexe și înțelegerea modului în care diferite flag-uri afectează comportamentul potrivirii. Mulți dezvoltatori folosesc testere regex pentru a valida adrese de email, numere de telefon, URL-uri sau alte formate de date structurate. Instrumentul este valoros când lucrezi cu validarea formularelor, analiza logurilor sau sarcini de procesare a textului. Testerele regex ajută și la învățarea expresiilor regulate, deoarece arată cum potrivesc tiparele textul prin iterarea potrivirilor și extragerea grupurilor. Când testezi regexp cu text pe mai multe linii sau caractere speciale, instrumentul îi ajută pe dezvoltatori să vadă exact ce se potrivește și de ce.

    Formate de date, tipuri sau variante

    Testerele regex gestionează sintaxa expresiilor regulate JavaScript, care este bazată pe regex de tip Perl, cu unele diferențe față de alte motoare regex. Instrumentul acceptă clase de caractere precum \d pentru cifre, \w pentru caractere de cuvânt și \s pentru spații albe. Gestionează ancore ( ^, $), cuantificatori (*, +, ?) și alternare (|). Flag-ul multiline afectează modul în care ^ și $ potrivesc, în timp ce flag-ul dotAll face ca . să potrivească caractere de linie nouă. Înțelegerea comportamentului regex pentru linie nouă este crucială pentru procesarea textului pe mai multe linii. De exemplu, testarea unui tipar precum /\d-\d-\d/ pe un șir de număr de telefon arată exact ce părți se potrivesc. Gestionarea liniilor noi în regex depinde de flag-uri: tiparul ^foo.*bar$ potrivește "foo\nbar" doar cu flag-ul dotAll (s), deoarece . nu potrivește liniile noi în mod implicit. Când lucrezi cu tipare regex pentru linie nouă, folosește \n pentru a potrivi linii noi literale sau \r\n pentru terminatori de linie Windows.

    Capcane frecvente și cazuri limită

    O greșeală frecventă este să uiți că regex-ul JavaScript folosește slash-uri ca delimitatori, nu ghilimele. O altă problemă este neînțelegerea modului în care flag-ul global afectează potrivirea: fără el, este returnată doar prima potrivire, dar cu el sunt găsite toate potrivirile. Gestionarea liniilor noi în regex poate fi dificilă: caracterul . nu potrivește liniile noi în mod implicit, decât dacă este folosit flag-ul dotAll. Negarea clasei de caractere cu [^...] poate fi confuză, deoarece potrivește orice caracter care nu este în clasă. Cuantificatorii lacomi vs leneși ( * vs *?) se comportă diferit și pot produce rezultate neașteptate. Asersiunile lookahead și lookbehind ( (?=...), (?&lt;=...)) sunt puternice, dar pot fi dificil de depanat. Dezvoltatorii ar trebui să testeze tiparele regex cu diverse intrări, inclusiv cazuri-limită precum șiruri goale, caractere speciale și caractere unicode.

    Când să folosești acest instrument vs cod

    Folosește acest tester regex pentru dezvoltarea rapidă a tiparelor, depanarea expresiilor complexe sau învățarea sintaxei expresiilor regulate. Este ideal pentru testarea tiparelor regex înainte de a le implementa în cod, mai ales când lucrezi cu sintaxă necunoscută sau tipare complexe. Feedback-ul vizual ajută la identificarea motivului pentru care un tipar potrivește sau nu potrivește un anumit text. Pentru codul de producție, folosește testere regex integrate în IDE-uri sau framework-uri de testare unitară, care pot valida tiparele ca parte a suitei tale de teste. Instrumentele din browser excelează la dezvoltare interactivă și învățare, în timp ce soluțiile bazate pe cod oferă automatizare, integrare cu pipeline-uri CI/CD și capacitatea de a testa tipare pe seturi mari de date. Pentru aplicații complexe, testarea automată a regex-urilor asigură că tiparele funcționează corect pe diferite intrări și cazuri-limită.