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
Rezultati Ujemanja
Vnesite vzorec in testno besedilo za prikaz rezultatov
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 ujemanjea|bUstreza bodisi a bodisi b\bUstreza meji besedeDokumentacija
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
- 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.
- Izberite zastavice. Zastavice spremenijo način uporabe vzorca (glejte spodaj).
- Vnesite preizkusno besedilo. V polje za preizkusno besedilo vnesite ali prilepite besedilo, ki ga želite preiskati.
- 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.
- 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.
- 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:
| Zastavica | Ime | Vpliv |
|---|---|---|
g | Globalno | Najde vsako ujemanje v besedilu, namesto da bi se ustavilo pri prvem. |
i | Ne razlikuje velikih in malih črk | Prezre razlike med velikimi in malimi črkami. |
m | Večvrstično | Poskrbi, 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. |
s | Pika zajema vse | Poskrbi, 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:
12in5, 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
| Simbol | Pomen | Primer | Ujemanja |
|---|---|---|---|
. | Kateri koli znak razen znaka za novo vrstico | a.c | »abc«, »adc«, »a1c« |
\d | Katera koli števka od 0 do 9 | \d{3} | "123", "456" |
\D | Kateri koli znak, ki ni števka | \D+ | »abc«, »xyz« |
\w | Katera koli črka, števka ali podčrtaj | \w+ | »abc123«, »test_123« |
\W | Kateri koli znak, ki ni črka, števka ali podčrtaj | \W+ | "!@#" |
\s | Kateri koli presledni znak | a\sb | »a b« |
\S | Kateri koli znak, ki ni presledni znak | \S+ | »abc« |
Sidra položaja
| Simbol | Pomen | Primer | Ujemanja |
|---|---|---|---|
^ | Začetek vrstice | ^abc | »abc« na začetku vrstice |
$ | Konec vrstice | abc$ | »abc« na koncu vrstice |
\b | Meja besede | \bword\b | »word« kot samostojna beseda |
Kvantifikatorji
| Simbol | Pomen | Primer | Ujemanja |
|---|---|---|---|
* | Nič ali več pojavitev prejšnjega elementa | a*b | »b«, »ab«, »aab« |
+ | Ena ali več pojavitev prejšnjega elementa | a+b | »ab«, »aab« |
? | Nič ali ena pojavitev prejšnjega elementa | colou?r | »color«, »colour« |
{n} | Točno n pojavitev prejšnjega elementa | a{3} | »aaa« |
{n,} | Najmanj n pojavitev prejšnjega elementa | a{2,} | »aa«, »aaa« |
{n,m} | Od n do m pojavitev prejšnjega elementa | a{2,4} | »aa«, »aaa«, »aaaa« |
Množice znakov in skupine
| Simbol | Pomen | Primer | Ujemanja |
|---|---|---|---|
[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\ | b | Ujema se z a ali b | cat\ |
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
- "Regular expression." Wikipedia, Fundacija Wikimedia. https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regular expressions." Mozilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.