DevToys Web Pro iconDevToys Web ProBlog
Ocenite nas:
Preizkusite razširitev brskalnika:

Preizkuševalnik regularnih izrazov

Konfiguracija

Vzorec

Testni niz

  • Ujemanja

    Vnesite vzorec, da si ogledate ujemanja

    Zamenjaj

    Referenca

    Razredi znakov

    .Poljuben znak razen nove vrstice
    [abc]Ujemanje a, b ali c
    [^abc]Ujemanje česarkoli razen a, b, c
    [a-z]Razpon znakov (a do z)
    \dŠtevka (0-9)
    \DNeštevka
    \wBesedni znak [a-zA-Z0-9_]
    \WNebesedni znak
    \sPresledek
    \SNe-presledek

    Sidra

    ^Začetek niza/vrstice
    $Konec niza/vrstice
    \bMeja besede
    \BNe-meja besede

    Ubežni znaki

    \tTabulator
    \nNova vrstica
    \rVračanje vozička
    \0Ničelni znak
    \xhhHeksadecimalni znak (npr. \xFF)
    \uhhhhZnak Unicode

    Skupine in sklici

    (abc)Zajemalna skupina
    (?:abc)Nezajemalna skupina
    (?<name>abc)Poimenovana zajemalna skupina
    \1Povratni sklic na skupino 1
    \k<name>Povratni sklic na poimenovano skupino

    Pogled okoli

    (?=abc)Pozitivni lookahead
    (?!abc)Negativni lookahead
    (?<=abc)Pozitivni lookbehind
    (?<!abc)Negativni lookbehind

    Kvantifikatorji in alternacija

    a*0 ali več (požrešno)
    a+1 ali več (požrešno)
    a?0 ali 1 (neobvezno)
    a{n}Natanko n-krat
    a{n,}n-krat ali več
    a{n,m}Med n-krat in m-krat
    a*?0 ali več (leno)
    a+?1 ali več (leno)
    a|bUjemanje a ali b

    Zamenjava

    $1, $2Vsebina zajete skupine
    $&Celotno ujemanje
    $`Pred ujemanjem
    $'Po ujemanju
    $$Dobesedni znak $
    Tehnične podrobnosti

    Kako deluje preizkuševalnik RegEx

    Kaj orodje počne

    Preizkuševalnik regex vam omogoča testiranje regularnih izrazov na vzorčnem besedilu v realnem času. Deluje kot razhroščevalnik regex in validator regex ter razvijalcem pomaga graditi, testirati in izpopolnjevati izraze za ujemanje vzorcev. Ta preizkuševalnik uporablja pogon JavaScript RegExp (ECMAScript), zato se lahko sintaksa razlikuje od pogonov PCRE, .NET ali Java regex. Ko morate preizkusiti regex na spletu, to orodje prikaže vsa ujemanja, zajemne skupine in zamenjave. Orodje podpira sintakso regex v JavaScriptu, vključno z zastavicami JavaScript regex (g, i, m, s, u): globalno (g), neobčutljivo na velikost črk (i), večvrstično (m), dotAll (s) in unicode (u). Označi ujemanja v testnem nizu, prikaže zajemne skupine in lahko izvede operacije najdi-in-zamenjaj, da si ogledate, kako bi regex preoblikoval besedilo.

    Pogosti primeri uporabe za razvijalce

    Razvijalci uporabljajo preizkuševalnike regex pri gradnji vzorcev za validacijo, razčlenjevanju dnevniških datotek ali izluščanju podatkov iz nizov. Testiranje vzorcev regexp pomaga prepoznati robne primere, razhroščevati kompleksne izraze in razumeti, kako različne zastavice vplivajo na vedenje ujemanja. Mnogi razvijalci uporabljajo preizkuševalnike regex za validacijo e-poštnih naslovov, telefonskih številk, URL-jev ali drugih strukturiranih formatov podatkov. Orodje je dragoceno pri validaciji obrazcev, analizi dnevnikov ali opravilih obdelave besedila. Preizkuševalniki regex pomagajo tudi pri učenju regularnih izrazov, saj prikazujejo, kako se vzorci ujemajo z besedilom prek iteracije ujemanj in izluščanja skupin. Pri testiranju regexp z večvrstičnim besedilom ali posebnimi znaki orodje razvijalcem pomaga natančno videti, kaj se ujema in zakaj.

    Podatkovni formati, tipi ali različice

    Preizkuševalniki regex obravnavajo sintakso regularnih izrazov v JavaScriptu, ki temelji na regex v slogu Perla z nekaterimi razlikami v primerjavi z drugimi pogoni regex. Orodje podpira razrede znakov, kot je \dza števke, \wza besedne znake in \sza presledne znake. Obravnava sidra ( ^, $), kvantifikatorje (*, +, ?) in alternacijo (|). Večvrstična zastavica vpliva na to, kako se ^in $ujemata, medtem ko zastavica dotAll omogoči, da se .ujema z znaki nove vrstice. Razumevanje vedenja regex pri novih vrsticah je ključno za obdelavo večvrstičnega besedila. Na primer, testiranje vzorca, kot je /\d-\d-\d/, na nizu telefonske številke natančno pokaže, kateri deli se ujemajo. Obravnava novih vrstic v regex je odvisna od zastavic: vzorec ^foo.*bar$ se ujema z "foo\nbar" le z zastavico dotAll (s), saj se .privzeto ne ujema z novimi vrsticami. Pri delu z vzorci regex za nove vrstice uporabite \n za ujemanje dobesednih novih vrstic ali \r\n za konce vrstic v Windows.

    Pogoste pasti in robni primeri

    Ena pogosta napaka je pozabiti, da JavaScript regex uporablja poševnice kot ločila, ne narekovajev. Druga težava je nerazumevanje, kako globalna zastavica vpliva na ujemanje: brez nje se vrne le prvo ujemanje, z njo pa se najdejo vsa ujemanja. Obravnava novih vrstic v regex je lahko zahtevna: znak .se privzeto ne ujema z novimi vrsticami, razen če je uporabljena zastavica dotAll. Negacija razreda znakov z [^...] je lahko zavajajoča, saj se ujema s katerimkoli znakom, ki ni v razredu. Požrešni in leni kvantifikatorji ( *vs *?) se obnašajo različno in lahko povzročijo nepričakovane rezultate. Trditve lookahead in lookbehind ( (?=...), (?&lt;=...)) so zmogljive, vendar jih je lahko težko razhroščevati. Razvijalci naj testirajo vzorce regex z različnimi vnosi, vključno z robnimi primeri, kot so prazni nizi, posebni znaki in znaki Unicode.

    Kdaj uporabiti to orodje namesto kode

    Ta preizkuševalnik regex uporabite za hitro razvijanje vzorcev, razhroščevanje kompleksnih izrazov ali učenje sintakse regularnih izrazov. Idealen je za testiranje vzorcev regex, preden jih implementirate v kodo, še posebej pri delu z neznano sintakso ali kompleksnimi vzorci. Vizualne povratne informacije pomagajo ugotoviti, zakaj se vzorec ujema ali ne ujema z določenim besedilom. Za produkcijsko kodo uporabite preizkuševalnike regex, integrirane v IDE-je ali ogrodja za enotsko testiranje, ki lahko validirajo vzorce kot del vaše testne zbirke. Orodja v brskalniku so odlična za interaktivni razvoj in učenje, medtem ko rešitve v kodi zagotavljajo avtomatizacijo, integracijo s cevovodi CI/CD in možnost testiranja vzorcev na velikih naborih podatkov. Za kompleksne aplikacije avtomatizirano testiranje regex zagotavlja, da vzorci delujejo pravilno pri različnih vhodih in robnih primerih.