Preskoči na vsebino

Brezplačni spletni preizkuševalec in validator regularnih izrazov - Takojšnji preizkus vzorcev

Preizkusite in potrdite regularne izraze na spletu z osvetlitvijo v realnem času. Brezplačni preizkuševalec vzorcev regularnih izrazov s preverjanjem sintakse, rezultati ujemanja in funkcijo shranjevanja. Preizkusite regex zdaj!

Preizkuševalec Regex Vzorcev

Rezultati Ujemanja

Vnesite vzorec in testno besedilo za prikaz rezultatov

Shrani Vzorec

Shranjeni Vzorci

Še ni shranjenih vzorcev

Vodič po Regex Simbolih

.Ustreza kateremukoli znaku razen novi vrstici
\dUstreza katerikoli številki (0-9)
\DUstreza kateremukoli znaku, ki ni številka
\wUstreza kateremukoli besednemu znaku (a-z, A-Z, 0-9, _)
\WUstreza kateremukoli znaku, ki ni besedni znak
\sUstreza kateremukoli presledkovnemu znaku
\SUstreza kateremukoli znaku, ki ni presledek
^Ustreza začetku vrstice
$Ustreza koncu vrstice
*Ustreza 0 ali več predhodnih znakov
+Ustreza 1 ali več predhodnih znakov
?Ustreza 0 ali 1 predhodnih znakov
{n}Ustreza natančno n predhodnih znakov
{n,}Ustreza najmanj n predhodnih znakov
{n,m}Ustreza med n in m predhodnih znakov
[abc]Ustreza kateremukoli znaku v oklepajih
[^abc]Ustreza kateremukoli znaku, ki ni v oklepajih
(abc)Združuje več žetonov in zajame ujemanje
a|bUstreza bodisi a bodisi b
\bUstreza meji besede
Kalkulator nalaganja...
📚

Dokumentacija

Kaj je preizkuševalnik regularnih izrazov

Preizkuševalnik regularnih izrazov je orodje, ki regularni izraz preveri glede na del besedila in prikaže, kaj se ujema. Regularni izraz oziroma regex je kratko zaporedje znakov, ki opisuje vzorec v besedilu, na primer »tri zaporedne števke« ali »katera koli beseda, ki se začne z veliko začetnico«. Ta preverjevalnik regularnih izrazov uporabniku omogoča, da vnese vzorec in preizkusno besedilo ter takoj vidi označena ujemanja, ne da bi napisal kodo.

Regularni izrazi se uporabljajo v številnih programskih jezikih za iskanje besedila, preverjanje pravilnosti oblike uporabniškega vnosa in pridobivanje določenih delov iz večjega bloka besedila. Sintaksa je zgoščena, vendar jo je mogoče hitro napačno zapisati, zato preverjanje vzorca pred uporabo v programu pomaga zgodaj odkriti napake.

Kako preizkusiti regularni izraz v spletu

  1. Vnesite vzorec. Vnesite regularni izraz v polje za vzorec. Orodje med vnašanjem preverja sintakso in prikaže sporočilo o napaki, če je vzorec neveljaven, na primer če oklepaj ali zaklepaj ostane odprt.
  2. Izberite zastavice. Zastavice spremenijo način uporabe vzorca (glejte spodaj).
  3. Vnesite preizkusno besedilo. V polje za preizkusno besedilo vnesite ali prilepite besedilo, ki ga želite preiskati.
  4. Preberite rezultate. Ujemanja so v besedilu označena, orodje pa poroča, koliko ujemanj je našlo. Če je vneseno preizkusno besedilo, navede tudi, ali se vzorec ujema s celotnim besedilom od začetka do konca ali samo z njegovim delom.
  5. Shranite vzorec. Vzorec je mogoče shraniti s kratko oznako, da ga je mogoče pozneje znova uporabiti. Shranjeni vzorci so shranjeni v brskalniku, ne na strežniku, zato se prikažejo samo v istem brskalniku na isti napravi.
  6. Kopirajte rezultate. Ujemajoče se besedilo ali sam vzorec je mogoče z enim klikom kopirati v odložišče.

Zastavice regularnih izrazov

Zastavica je ena črka, dodana za vzorcem, ki spremeni njegovo delovanje. To orodje podpira štiri zastavice, samostojno ali v kombinaciji:

ZastavicaImeVpliv
gGlobalnoNajde vsako ujemanje v besedilu, namesto da bi se ustavilo pri prvem.
iNe razlikuje velikih in malih črkPrezre razlike med velikimi in malimi črkami.
mVečvrstičnoPoskrbi, da se ^ in $ ujemata z začetkom in koncem vsake vrstice, ne le z začetkom in koncem celotnega besedila. Spremeni mesto, kjer se najdejo ujemanja, ne pa preverjanja celotnega besedila, opisanega spodaj.
sPika zajema vsePoskrbi, da se . ujema tudi z znaki za novo vrstico.

Zastavice je mogoče kombinirati, na primer gi za globalno iskanje brez razlikovanja velikih in malih črk ali gms za skupno globalno, večvrstično delovanje, pri katerem pika zajema vse.

Kako orodje najde ujemanja

Iskalnik vedno išče vsak pojav vzorca v besedilu, zato se štetje ujemanj obnaša, kot da je globalna zastavica vklopljena, tudi če ni izbrana v spustnem seznamu. Vsako ujemanje se zabeleži z njegovim položajem in dolžino, nato pa se izvirno besedilo razdeli na ujemajoče se in neujemajoče se dele, da je mogoče ujemanja označiti.

Za preverjanje, ali se vzorec ujema s celotnim besedilom, orodje vzorec ovije v skupino brez zajemanja in ga sidra: ^(?:pattern)$. Združevanje je pomembno, ker ima | (alternacija) šibkejšo vezavo kot sidri. Brez skupine bi vzorec, kot je cat|dog, zasidran kot ^cat|dog$, v resnici pomenil »začne se z cat ali konča z dog«, kar ni isto kot »celotno besedilo je cat ali dog«.

To preverjanje odstrani tudi večvrstično zastavico. Ko je nastavljen m, se ^ in $ ujemata pri vsakem prelomu vrstice, zato bi zasidrano preverjanje odgovorilo »ali se ujema katera koli vrstica?« namesto »ali se ujema celotno besedilo?«. Orodje pri tem preverjanju odstrani m ter ohrani i in s, ker ti dve zastavici spremenita, s čim se vzorec ujema, ne pa mesta sidrišč. Odgovor se zato vedno nanaša na celotno besedilo, vključno z njegovimi prelomi vrstic.

Primer z rešitvijo

Vzorec: \d+ (ena ali več števk), zastavica: g, preizkusno besedilo: Room 12 has 5 chairs.

  • Najdena ujemanja: 12 in 5, zato je število ujemanj 2.
  • Preverjanje celotnega besedila: vzorec se ne ujema s celotnim besedilom, ker besedilo vsebuje tudi črke in presledke.

Če preizkusno besedilo spremenimo v 12345, se isti vzorec ujema s celotnim nizom, zato preverjanje celotnega besedila vrne vrednost »true«.

Referenca sintakse regularnih izrazov

Ujemanje znakov

SimbolPomenPrimerUjemanja
.Kateri koli znak razen znaka za novo vrsticoa.c»abc«, »adc«, »a1c«
\dKatera koli števka od 0 do 9\d{3}"123", "456"
\DKateri koli znak, ki ni števka\D+»abc«, »xyz«
\wKatera koli črka, števka ali podčrtaj\w+»abc123«, »test_123«
\WKateri koli znak, ki ni črka, števka ali podčrtaj\W+"!@#"
\sKateri koli presledni znaka\sb»a b«
\SKateri koli znak, ki ni presledni znak\S+»abc«

Sidra položaja

SimbolPomenPrimerUjemanja
^Začetek vrstice^abc»abc« na začetku vrstice
$Konec vrsticeabc$»abc« na koncu vrstice
\bMeja besede\bword\b»word« kot samostojna beseda

Kvantifikatorji

SimbolPomenPrimerUjemanja
*Nič ali več pojavitev prejšnjega elementaa*b»b«, »ab«, »aab«
+Ena ali več pojavitev prejšnjega elementaa+b»ab«, »aab«
?Nič ali ena pojavitev prejšnjega elementacolou?r»color«, »colour«
{n}Točno n pojavitev prejšnjega elementaa{3}»aaa«
{n,}Najmanj n pojavitev prejšnjega elementaa{2,}»aa«, »aaa«
{n,m}Od n do m pojavitev prejšnjega elementaa{2,4}»aa«, »aaa«, »aaaa«

Množice znakov in skupine

SimbolPomenPrimerUjemanja
[abc]Kateri koli posamezni znak, naveden v oklepajih[aeiou]kateri koli posamezni samoglasnik
[^abc]Kateri koli znak, ki ni naveden v oklepajih[^aeiou]kateri koli znak, ki ni samoglasnik
(abc)Združi znake in zajame ujemanje(abc)+»abc«, »abcabc«
a\bUjema se z a ali bcat\

Omeniti je treba še dve funkciji. Pogled naprej (lookahead), zapisan kot a(?=b), se ujema z »a« samo, kadar mu sledi »b«, vendar »b« ni vključena v ujemanje. Pogled nazaj (lookbehind), zapisan kot (?<=a)b, se ujema z »b« samo, kadar pride neposredno za »a«.

Pogosti primeri vzorcev

Te vzorce je mogoče prilepiti v orodje in preveriti njihovo delovanje na vzorčnem besedilu.

Samo števke: ^\d+$ se ujema z nizom, sestavljenim izključno iz števk, na primer »48210«, in zavrne vse, kar vsebuje črko ali presledek.

E-poštni naslov (osnovno preverjanje): ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ se ujema z naslovi v obliki name@domain.tld, na primer »user@example.com«. Gre za preprosto preverjanje, ne za celotno obliko e-poštnega naslova, opredeljeno z internetnimi standardi, zato pri njem nekateri nenavadni, vendar veljavni naslovi ne bodo uspešni.

Telefonska številka ZDA: ^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$ se ujema z oblikami, kot so »(123) 456-7890«, »123-456-7890« in »1234567890«.

Datum v obliki LLLL-MM-DD: ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$ preveri, ali je mesec med 01 in 12 ter dan med 01 in 31. Ne preveri, ali je dan veljaven za določen mesec, zato sprejme »2024-02-30«, čeprav februar nikoli nima 30 dni.

Pogosta vprašanja

Kaj je regularni izraz? Regularni izraz je zaporedje znakov, ki določa iskalni vzorec. Uporablja se za iskanje, ujemanje in urejanje besedila v večini programskih jezikov in urejevalnikov besedila.

Kaj naredi globalna zastavica? Brez globalne zastavice se iskanje običajno ustavi po prvem ujemanju. Z globalno zastavico (g) se iskanje nadaljuje in poroča o vsakem ujemanju v besedilu. To orodje pri štetju vedno išče vsa ujemanja, ne glede na izbrano zastavico.

Kako poiščem dobesedno piko ali drug posebni znak? Pred znak postavite vzvratno poševnico. Na primer, \. se ujema z dobesedno piko namesto »katerega koli znaka«, kar pomeni neubežana ..

Kakšna je razlika med .* in .*?? .* je požrešen in se ujema s čim več znaki. .*? je len in se ujema s čim manj znaki, pri tem pa še vedno omogoča uspešno ujemanje preostanka vzorca.

Zakaj orodje pravi, da se besedilo ne ujema v celoti, če se ujema vsaka vrstica? Preverjanje celotnega besedila obravnava besedilo kot en niz, vključno s prelomi vrstic. Vzorec, kot je \d+, se samostojno ujema z vsako vrstico 12 in 34, vendar obe vrstici skupaj s prelomom med njima niso v celoti sestavljeni iz števk, zato je odgovor za celotno besedilo »ne«. Za ujemanje besedila, ki se razteza čez več vrstic, mora vzorec zajeti tudi prelome vrstic, na primer z [\s\S]+.

Kako preverim, ali se z vzorcem ujema celoten niz in ne samo njegov del? Na začetek vzorca dodajte ^ in na konec $, na primer ^[0-9]+$ za niz, sestavljen samo iz števk.

Ali ta preizkuševalnik uporablja pravila regularnih izrazov drugih programskih jezikov? To orodje uporablja mehanizem regularnih izrazov, vgrajen v JavaScript. Večina osnovne sintakse, kot so razredi znakov in kvantifikatorji, je skupna jezikom Python, Java in Perl, vendar se nekatere podrobnosti razlikujejo, zato ni zagotovljeno, da se bo vzorec, ki deluje tukaj, povsod obnašal enako.

Viri

  1. "Regular expression." Wikipedia, Fundacija Wikimedia. https://en.wikipedia.org/wiki/Regular_expression
  2. MDN Web Docs. "Regular expressions." Mozilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  3. Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.