DevToys Web Pro iconDevToys Web ProBlogs
Novērtējiet mūs:
Izmēģiniet pārlūkprogrammas paplašinājumu:

Regulāro izteiksmju testētājs

Konfigurācija

Raksts

Testa virkne

  • Atbilstības

    Ievadiet rakstu, lai redzētu atbilstības

    Aizstāt

    Atsauce

    Rakstzīmju klases

    .Jebkura rakstzīme, izņemot jaunu rindu
    [abc]Atbilst a, b vai c
    [^abc]Atbilst jebkam, izņemot a, b, c
    [a-z]Rakstzīmju diapazons (no a līdz z)
    \dCipars (0-9)
    \DNe cipars
    \wVārda rakstzīme [a-zA-Z0-9_]
    \WNe vārda rakstzīme
    \sAtstarpe
    \SNe atstarpe

    Enkuri

    ^Virknes/rindas sākums
    $Virknes/rindas beigas
    \bVārda robeža
    \BNe vārda robeža

    Aizbēgtās rakstzīmes

    \tTabulācija
    \nJauna rinda
    \rRatiņa atgriešana
    \0Nulles rakstzīme
    \xhhHeksadecimāla rakstzīme (piem., \xFF)
    \uhhhhUnicode rakstzīme

    Grupas un atsauces

    (abc)Tveršanas grupa
    (?:abc)Netveršanas grupa
    (?<name>abc)Nosaukta tveršanas grupa
    \1Atpakaļatsauce uz 1. grupu
    \k<name>Atpakaļatsauce uz nosaukto grupu

    Apskate apkārt

    (?=abc)Pozitīvs lookahead
    (?!abc)Negatīvs lookahead
    (?<=abc)Pozitīvs lookbehind
    (?<!abc)Negatīvs lookbehind

    Kvantifikatori un alternācija

    a*0 vai vairāk (mantkārīgs)
    a+1 vai vairāk (mantkārīgs)
    a?0 vai 1 (neobligāts)
    a{n}Tieši n reizes
    a{n,}n vai vairāk reižu
    a{n,m}No n līdz m reizēm
    a*?0 vai vairāk (slinkais)
    a+?1 vai vairāk (slinkais)
    a|bAtbilst a vai b

    Aizstāšana

    $1, $2Tvertās grupas saturs
    $&Visa atbilstība
    $`Pirms atbilstības
    $'Pēc atbilstības
    $$Burtiska $ rakstzīme
    Tehniskā informācija

    Kā darbojas RegEx testētājs

    Ko rīks dara

    Regex testētājs ļauj reāllaikā pārbaudīt regulārās izteiksmes pret parauga tekstu. Tas darbojas gan kā regex atkļūdotājs, gan regex validators, palīdzot izstrādātājiem veidot, testēt un pilnveidot rakstu atbilstības izteiksmes. Šis testētājs izmanto JavaScript RegExp dzinēju (ECMAScript), tāpēc sintakse var atšķirties no PCRE, .NET vai Java regex dzinējiem. Kad nepieciešams testēt regex tiešsaistē, šis rīks parāda visas atbilstības, uztveršanas grupas un aizvietojumus. Rīks atbalsta JavaScript regex sintaksi, tostarp JavaScript regex karodziņus (g, i, m, s, u): globāls (g), reģistrnejutīgs (i), vairākrindu (m), dotAll (s) un unicode (u). Tas izceļ atbilstības testa virknē, attēlo uztveršanas grupas un var veikt meklēšanas un aizvietošanas darbības, lai priekšskatītu, kā regex pārveidotu tekstu.

    Biežākie izstrādātāju lietošanas gadījumi

    Izstrādātāji izmanto regex testētājus, veidojot validācijas rakstus, parsējot žurnālfailus vai iegūstot datus no virknēm. Regexp rakstu testēšana palīdz identificēt robežgadījumus, atkļūdot sarežģītas izteiksmes un saprast, kā dažādi karodziņi ietekmē atbilstības uzvedību. Daudzi izstrādātāji izmanto regex testētājus, lai validētu e-pasta adreses, tālruņa numurus, URL vai citus strukturētus datu formātus. Rīks ir vērtīgs, strādājot ar formu validāciju, žurnālu analīzi vai teksta apstrādes uzdevumiem. Regex testētāji palīdz arī, mācoties regulārās izteiksmes, jo tie parāda, kā raksti atbilst tekstam, iterējot atbilstības un izvelkot grupas. Testējot regexp ar vairākrindu tekstu vai speciālām rakstzīmēm, rīks palīdz izstrādātājiem precīzi redzēt, kas tiek atrasts un kāpēc.

    Datu formāti, tipi vai varianti

    Regex testētāji apstrādā JavaScript regulāro izteiksmju sintaksi, kas balstās uz Perl stila regex ar dažām atšķirībām no citiem regex dzinējiem. Rīks atbalsta rakstzīmju klases, piemēram, \d cipariem, \w vārda rakstzīmēm un \s atstarpēm. Tas apstrādā enkurotājus ( ^, $), kvantifikatorus (*, +, ?) un alternāciju (|). Vairākrindu karodziņš ietekmē, kā ^ un $ atbilst, savukārt dotAll karodziņš liek . atbilst arī jaunas rindas rakstzīmēm. Regex jaunu rindu uzvedības izpratne ir būtiska vairākrindu teksta apstrādei. Piemēram, raksta /\d-\d-\d/ testēšana pret tālruņa numura virkni precīzi parāda, kuras daļas atbilst. Regex jaunu rindu apstrāde ir atkarīga no karodziņiem: raksts ^foo.*bar$ atbilst "foo\nbar" tikai ar dotAll karodziņu (s), jo . pēc noklusējuma neatbilst jaunām rindām. Strādājot ar regex jaunu rindu rakstiem, izmantojiet \n, lai atbilstu burtiskām jaunām rindām, vai \r\n Windows rindu beigu apzīmējumiem.

    Biežākās kļūdas un robežgadījumi

    Viena bieža kļūda ir aizmirst, ka JavaScript regex kā norobežotājus izmanto slīpsvītras, nevis pēdiņas. Vēl viena problēma ir pārprast, kā globālais karodziņš ietekmē atbilstību: bez tā tiek atgriezta tikai pirmā atbilstība, bet ar to tiek atrastas visas atbilstības. Regex jaunu rindu apstrāde var būt viltīga: . rakstzīme pēc noklusējuma neatbilst jaunām rindām, ja vien netiek izmantots dotAll karodziņš. Rakstzīmju klases noliegums ar [^...] var būt mulsinošs, jo tas atbilst jebkurai rakstzīmei, kas nav klasē. Alkatīgie un slinkie kvantifikatori ( * pret *?) uzvedas atšķirīgi un var radīt negaidītus rezultātus. Lookahead un lookbehind apgalvojumi ( (?=...), (?&lt;=...)) ir jaudīgi, taču var būt grūti atkļūdojami. Izstrādātājiem vajadzētu testēt regex rakstus ar dažādām ievadēm, tostarp robežgadījumiem, piemēram, tukšām virknēm, speciālām rakstzīmēm un unicode rakstzīmēm.

    Kad izmantot šo rīku, nevis kodu

    Izmantojiet šo regex testētāju ātrai rakstu izstrādei, sarežģītu izteiksmju atkļūdošanai vai regulāro izteiksmju sintakses apguvei. Tas ir ideāli piemērots regex rakstu testēšanai pirms to ieviešanas kodā, īpaši strādājot ar nepazīstamu sintaksi vai sarežģītiem rakstiem. Vizuālā atgriezeniskā saite palīdz noteikt, kāpēc raksts atbilst vai neatbilst konkrētam tekstam. Produkcijas kodam izmantojiet regex testētājus, kas integrēti IDE vai vienību testēšanas ietvaros un var validēt rakstus kā daļu no jūsu testu kopas. Pārlūka rīki izceļas interaktīvā izstrādē un mācīšanās procesā, savukārt kodā balstīti risinājumi nodrošina automatizāciju, integrāciju ar CI/CD cauruļvadiem un iespēju testēt rakstus pret lielām datu kopām. Sarežģītām lietotnēm automatizēta regex testēšana nodrošina, ka raksti darbojas pareizi dažādās ievadēs un robežgadījumos.