DevToys Web Pro iconDevToys Web ProTinklaraštis
Įvertinkite mus:
Išbandykite naršyklės plėtinį:

Reguliariųjų išraiškų testuotojas

Konfigūracija

Šablonas

Testo eilutė

  • Atitikmenys

    Įveskite šabloną, kad matytumėte atitikmenis

    Pakeisti

    Nuoroda

    Simbolių klasės

    .Bet koks simbolis, išskyrus naują eilutę
    [abc]Atitinka a, b arba c
    [^abc]Atitinka bet ką, išskyrus a, b, c
    [a-z]Simbolių intervalas (nuo a iki z)
    \dSkaitmuo (0–9)
    \DNe skaitmuo
    \wŽodžio simbolis [a-zA-Z0-9_]
    \WNe žodžio simbolis
    \sTarpas (whitespace)
    \SNe tarpas (non-whitespace)

    Inkarai

    ^Eilutės/linijos pradžia
    $Eilutės/linijos pabaiga
    \bŽodžio riba
    \BNe žodžio riba

    Ekranuoti simboliai

    \tTabuliacija
    \nNauja eilutė
    \rVežimo grąžinimas
    \0Nulinis simbolis
    \xhhŠešioliktainis simbolis (pvz., \xFF)
    \uhhhhUnicode simbolis

    Grupės ir nuorodos

    (abc)Gaudanti grupė
    (?:abc)Negaudanti grupė
    (?<name>abc)Pavadinta gaudanti grupė
    \1Atgalinė nuoroda į 1 grupę
    \k<name>Atgalinė nuoroda į pavadintą grupę

    Peržiūra aplink (lookaround)

    (?=abc)Teigiama peržiūra į priekį (lookahead)
    (?!abc)Neigiama peržiūra į priekį (lookahead)
    (?<=abc)Teigiama peržiūra atgal (lookbehind)
    (?<!abc)Neigiama peržiūra atgal (lookbehind)

    Kvantifikatoriai ir alternatyvos

    a*0 arba daugiau (godus)
    a+1 arba daugiau (godus)
    a?0 arba 1 (nebūtina)
    a{n}Tiksliai n kartų
    a{n,}n arba daugiau kartų
    a{n,m}Nuo n iki m kartų
    a*?0 arba daugiau (tingus)
    a+?1 arba daugiau (tingus)
    a|bAtitinka a arba b

    Pakeitimas

    $1, $2Užfiksuotos grupės turinys
    $&Visas atitikmuo
    $`Prieš atitikmenį
    $'Po atitikmens
    $$Tiesioginis $ simbolis
    Techninė informacija

    Kaip veikia RegEx testuoklis

    Ką daro įrankis

    RegEx testuoklis leidžia realiu laiku testuoti reguliariąsias išraiškas su pavyzdiniu tekstu. Jis veikia ir kaip regex derintuvė, ir kaip regex validatorius, padėdamas kūrėjams kurti, testuoti ir tobulinti šablonų atitikimo išraiškas. Šis testuoklis naudoja JavaScript RegExp variklį (ECMAScript), todėl sintaksė gali skirtis nuo PCRE, .NET ar Java regex variklių. Kai reikia testuoti regex internete, šis įrankis parodo visus atitikmenis, fiksavimo grupes ir pakeitimus. Įrankis palaiko JavaScript regex sintaksę, įskaitant JavaScript regex vėliavėles (g, i, m, s, u): globalią (g), nejautrią didžiosioms/mažosioms raidėms (i), kelių eilučių (m), dotAll (s) ir unicode (u). Jis paryškina atitikmenis testinėje eilutėje, rodo fiksavimo grupes ir gali atlikti paieškos ir pakeitimo operacijas, kad galėtumėte peržiūrėti, kaip regex transformuotų tekstą.

    Dažniausi kūrėjų naudojimo atvejai

    Kūrėjai naudoja regex testuoklius kurdami validavimo šablonus, analizuodami žurnalų (log) failus arba išgaudami duomenis iš eilučių. Regexp šablonų testavimas padeda nustatyti kraštinius atvejus, derinti sudėtingas išraiškas ir suprasti, kaip skirtingos vėliavėlės veikia atitikimo elgseną. Daugelis kūrėjų naudoja regex testuoklius el. pašto adresams, telefono numeriams, URL ar kitiems struktūruotiems duomenų formatams validuoti. Įrankis vertingas dirbant su formų validavimu, log analize ar teksto apdorojimo užduotimis. Regex testuokliai taip pat padeda mokantis reguliariųjų išraiškų, nes parodo, kaip šablonai atitinka tekstą per atitikmenų iteraciją ir grupių išgavimą. Testuojant regexp su kelių eilučių tekstu ar specialiaisiais simboliais, įrankis padeda kūrėjams tiksliai pamatyti, kas sutampa ir kodėl.

    Duomenų formatai, tipai arba variantai

    Regex testuokliai apdoroja JavaScript reguliariųjų išraiškų sintaksę, kuri remiasi Perl stiliaus regex, tačiau turi tam tikrų skirtumų nuo kitų regex variklių. Įrankis palaiko simbolių klases, tokias kaip \d skaitmenims, \w žodžio simboliams ir \s tarpams. Jis apdoroja inkarus (^, $), kvantifikatorius (*, +, ?) ir alternaciją (|). Kelių eilučių vėliavėlė veikia, kaip sutampa ^ ir $, o dotAll vėliavėlė leidžia . sutapti su naujos eilutės simboliais. Suprasti regex naujų eilučių elgseną yra labai svarbu apdorojant kelių eilučių tekstą. Pavyzdžiui, testuojant šabloną /\d-\d-\d/ su telefono numerio eilute, tiksliai matyti, kurios dalys sutampa. Regex naujų eilučių apdorojimas priklauso nuo vėliavėlių: šablonas ^foo.*bar$ sutampa su "foo\nbar" tik naudojant dotAll vėliavėlę (s), nes . pagal numatymą nesutampa su naujomis eilutėmis. Dirbant su regex naujų eilučių šablonais, naudokite \n pažodiniams naujos eilutės simboliams atitikti arba \r\n Windows eilučių pabaigoms.

    Dažniausios klaidos ir kraštiniai atvejai

    Viena dažna klaida — pamiršti, kad JavaScript regex naudoja pasviruosius brūkšnius kaip skyriklius, o ne kabutes. Kita problema — nesuprasti, kaip globali vėliavėlė veikia atitikimą: be jos grąžinamas tik pirmas atitikmuo, o su ja randami visi atitikmenys. Regex naujų eilučių apdorojimas gali būti keblus: simbolis . pagal numatymą nesutampa su naujomis eilutėmis, nebent naudojama dotAll vėliavėlė. Simbolių klasės neigimas su [^...] gali klaidinti, nes jis atitinka bet kurį simbolį, kuris nėra klasėje. Godūs ir tingūs kvantifikatoriai (* vs *?) elgiasi skirtingai ir gali sukelti netikėtų rezultatų. Lookahead ir lookbehind teiginiai ((?=...), (?&lt;=...)) yra galingi, bet gali būti sunkiai derinami. Kūrėjai turėtų testuoti regex šablonus su įvairiomis įvestimis, įskaitant kraštinius atvejus, tokius kaip tuščios eilutės, specialieji simboliai ir unicode simboliai.

    Kada naudoti šį įrankį, o kada kodą

    Naudokite šį regex testuoklį greitam šablonų kūrimui, sudėtingų išraiškų derinimui arba reguliariųjų išraiškų sintaksės mokymuisi. Jis idealus regex šablonams išbandyti prieš įgyvendinant juos kode, ypač dirbant su nepažįstama sintakse ar sudėtingais šablonais. Vizualus grįžtamasis ryšys padeda nustatyti, kodėl šablonas sutampa arba nesutampa su konkrečiu tekstu. Produkciniam kodui naudokite regex testuoklius, integruotus į IDE ar vienetinių testų (unit testing) karkasus, kurie gali validuoti šablonus kaip jūsų testų rinkinio dalį. Naršyklės įrankiai puikiai tinka interaktyviam kūrimui ir mokymuisi, o kodu pagrįsti sprendimai suteikia automatizavimą, integraciją su CI/CD vamzdynais ir galimybę testuoti šablonus su dideliais duomenų rinkiniais. Sudėtingoms programoms automatizuotas regex testavimas užtikrina, kad šablonai veikia teisingai su skirtingomis įvestimis ir kraštiniais atvejais.