Kaj je redni izraz?
Regex, oz regularni izrazi, so vzorec, ki se ujema z oznako, ki programerji uporabite za iskanje določenih vzorcev v besedilu. Regularni izrazi lahko iščejo skoraj vse, odvisno od tega, kako jih strukturirate; programerji jih uporabljajo povsod, ker so neprecenljivi za pomoč računalnikom pri hitrem razvrščanju podatkov in filtriranju neumnosti, ki bi sicer lahko povzročile napake.
Regularni izrazi so videti zastrašujoče, zlasti za neprogramerje. Samo poglejte to:
[a-zA-Z0-9 _. + -] + @ [a-zA-Z0-9 _-] + \. [a-zA-Z0-9 _.-] +
Realno je, da pravzaprav ni tako slabo; ta se ujema z e-poštnimi naslovi. Kot boste videli, se izrazi lahko razdelijo na posamezne znake, ki vsemu programu sporočajo, kaj mora iskati.
Regularni izrazi so skoraj univerzalni. Isti general skladnja velja za vse jezike z le majhnimi različicami tu in tam. Ta priročnik vsebuje primere iz Pythona in JavaScript-a ter navadne stare regularne izraze. Če delate z drugim jezikom, ne skrbite. Skoraj vse bo veljalo tudi za vaš izbrani jezik.
Osnove regexa
Tehnično gledano ni veliko stvari, ki jih ne bi mogli šteti za regularne izraze, ker so dobesedni nizi besedila res preprosti. Če bi uporabili 'abcde' kot regularni izraz, bi programski jezik poiskal točno ta niz.
Prvi bolj dinamičen ujemajoč se znak, ki si ga je treba ogledati, je '.' znak. V tem kontekstu je znak pike nadomestni znak. Če iščete z njim, bo program vrnil kateri koli znak, ki ga najde, kot ujemanje.
Kaj torej, če želite iskati dobesedno piko? Tudi to ni težko. Če želite uporabiti dobesedno piko, dodajte poševnico nazaj, takole: '\.'
Znaki povratne poševnice
Povratna poševnica ima tukaj veliko več vlog. Večina glavnih znakov regularnih izrazov vključuje poševnico nazaj.

Oglejte si nekaj primerov:
- \ d: Števke od 0 do 9
- \ w: črke, številke in podčrtaji "Znaki v besedi"
- \ s: presledki, vključno z zavihki, novimi vrsticami in običajnimi presledki
Če namesto katerega koli od njih uporabite veliko začetnico, boste dobili obratno. Na primer, \ \ D vam da vse, razen številk.
Predavanja
The znaki povratne poševnice so dobri, vendar so še vedno nekako togi. Na splošno se boste želeli ujemati s črkami, številkami ali nekaj posebnimi znaki.

Postavite znake, za katere želite, da se ujemajo, v par oglatih oklepajev '[]' in vaš program se bo ujemal s katerim koli. To se imenuje razred regularnih izrazov.
[abcd1234]
Zgornji primer je še vedno neučinkovit. Namesto tega lahko s pomišljajem določite obseg; na primer vse male črke:
[a-z]
Lahko navedete tudi obsege. Spodnji izraz se ujema z vsemi črkami in številkami:
[a-zA-Z0-9]
Če boste pomišljaj vključili v svoj nabor znakov, ga na koncu pritrdite, da preprečite njegovo oceno. Deluje tudi z drugimi posebnimi znaki.
[a-zA-Z0-9 _. + -]
Tako kot pri znakih s poševnico nazaj lahko tudi tukaj dobite obratni rezultat. Na začetek predavanja postavite '^', da jih izključite iz rezultatov. To bo iz rezultatov izključilo številke in več posebnih znakov:
[^0-9_+.-]
Skupine
Skupine uporabljajo niz oklepajev, da ločijo vaš izraz. Združujejo podatke in omogočajo, da jih vaš program cilja in uporablja. Ko program odstrani http://' s spletnega naslova za to uporablja skupine regularnih izrazov. Regex omogoča, da cilja na določena merila, skupine pa naj ločijo odseke.

Skupine vam omogočajo tudi izbiro med enim ali drugim vzorcem. Uporabljajo en sam "|" da deluje kot "ali" v izrazu. Spodnji izraz se bo ujemal s katerim koli od teh: .com, .org, .net, .edu ali .gov.
\. (com | org | net | edu | gov)
Merilniki
Merilniki so točno takšni, kot zvenijo. Izrazu povedo količino znaka, ki ga iščete. To so razpoložljivi količniki:
- *: Nič ali več
- +: Ena ali več
- ?: Nič ali ena
- {3}: znesek v oklepajih
Kateri koli od teh merilnikov postavite na konec znaka ali razreda, za katerega želite določiti količino. Ta primer išče standardne sedemmestne telefonske številke:
\ d {3} [. * -] \ d {3} [. * -] \ d {4}
Sidra in meje
Regularni izrazi vam omogočajo iskanje vzorcev glede na njihov položaj v nizu besedila ali okoli besede.

To so vaše glavne možnosti:
- ^: Začetek niza
- $: Konec niza
- \ b: meja besede (začetek ali konec besede)
Če želite najti samo nize, ki se začnejo s črko, lahko poskusite:
^ [a-zA-Z]
Recimo, da želite najti samo besedo "it", ne besed, ki vsebujejo črki I in T; tam bi uporabili besedne meje.
\ b (i | I) t \ b
Končne misli
Regularni izrazi vam lahko prihranijo veliko preglavic pri programiranju. Predstavljajte si, kako poskušate napisati logiko za izvedbo katerega koli primera v tem članku. Bila bi strašna zmešnjava. Ko se z njimi počutite udobno, boste verjetno resnično uživali v moči in prilagodljivosti regularnega izraza.