raatools/

Regex tester

Testirajte regex obrasce s podudaranjem uživo i zastavicama.

Što su regularni izrazi?

Regularni izrazi (regex ili regexp) su uzorci koji se koriste za podudaranje kombinacija znakova u tekstu. Jedan su od najmoćnijih alata u programiranju za pretraživanje, provjeru valjanosti, izvlačenje i transformaciju teksta. Svaki glavni programski jezik podržava regularne izraze, a oni su ključni za zadatke poput validacije obrazaca, raščlanjivanja dnevnika i čišćenja podataka.

Regex uzorak opisuje skup nizova koristeći posebnu sintaksu. Jednostavni uzorci podudaraju literalni tekst, dok metaznakovi poput . (bilo koji znak), * (nula ili više) i + (jedan ili više) dodaju fleksibilnost. Grupiranje s zagradama, alternacija s | i klase znakova s [] omogućavaju izgradnju preciznih pravila podudaranja za gotovo svaki tekstualni uzorak.

Kako koristiti tester regularnih izraza

Unesite uzorak regularnog izraza u polje uzorka, odaberite željene zastavice (g, i, m, s) i zalijepite tekst za testiranje. Alat ističe sva podudaranja u stvarnom vremenu i prikazuje grupe hvatanja za svako podudaranje. Koristite ovo za razvoj i otklanjanje grešaka u regex uzorcima prije ugradnje u kod.

Uobičajeni regex uzorci

  • E-mail adrese: ^[^\s@]+@[^\s@]+\.[^\s@]+$ — podudaranje standardnih formata e-pošte.
  • URL-ovi: https?://\S+ — podudaranje URL-ova koji počinju s http ili https.
  • IPv4 adrese: podudara standardni format s točkama poput 192.168.1.1 koristeći kvantifikatore znamenki.
  • Datumi: podudara datume u formatu GGGG-MM-DD koristeći uzorke četveroznamenkaste godine i dvoznamenkastog mjeseca i dana.
  • Riječi pisane velikim početnim slovom: [A-Z][a-z]+ — podudaranje riječi koje počinju velikim slovom.

Objašnjenje regex zastavica

  • g: g (Globalno): Pronalazi sva podudaranja u tekstu, ne samo prvo.
  • i: i (Neosjetljivo na veličinu slova): Čini uzorak podudarajućim bez obzira na veličinu slova.
  • m: m (Višelinjsko): Čini ^ i $ podudarajućima s početkom i krajem svakog retka, a ne samo cijelog niza.
  • s: s (Dotall): Čini . metaznak podudarajućim i sa znakovima prijeloma retka.

Grupe hvatanja

Zagrade () stvaraju grupe hvatanja koje izvlače specifične dijelove podudaranja. Svaka grupa numerirana je počevši od 1. Na primjer, uzorak (\w+)@(\w+\.\w+) primijenjen na „user@example.com

Česte regex greške

Zaboravljanje escapeanja posebnih znakova najčešća je greška. Znakovi poput . + * ? ( ) [ ] ^ $ | i vitičaste zagrade imaju posebno značenje u regexu i moraju biti escapeani kosom crtom kada ih želite doslovno podudariti. Na primjer, podudaranje točke zahtijeva obrnutu kosu crtu ispred točke umjesto samo točke.

Pisanje previše pohlepnih uzoraka još je čest problem. Kvantifikator .* podudara što više teksta je moguće, što može zahvatiti puno više nego što se namjeravalo. Koristite lijeni kvantifikator .*? za podudaranje što je manje moguće, ili koristite specifičnije uzorke poput [^>]* umjesto .* pri raščlanjivanju strukturiranog teksta.

Često postavljana pitanja

Jesu li regex uzorci isti u svim jezicima?

Osnovna sintaksa je slična, ali postoje razlike. JavaScript, Python, Java i .NET svaki imaju nešto drugačije značajke i sintaksu za napredne konstrukte poput lookbehind tvrdnji, imenovanih grupa i Unicode podrške. Ovaj alat koristi JavaScript regex, koji je standard za web razvoj.

Kako mogu naučiti regularne izraze?

Počnite s jednostavnim uzorcima i postupno dodavajte složenost. Prvo naučite osnovne metaznakove (. * + ? ^ $), klase znakova ([a-z], \d, \w) i kvantifikatore. Zatim prijeđite na grupiranje, alternaciju i lookaheadove. Vježbajte s praktičnim zadacima poput validacije e-pošte, raščlanjivanja datoteka dnevnika ili izvlačenja podataka iz HTML-a.