Säännöllinen lauseke (regex) on merkkijono, joka määrittää hakumallin. Näin kirjoitat säännöllisiä lausekkeita:
- Aloita ymmärtämällä säännöllisissä lausekkeissa käytetyt erikoismerkit, kuten ., *, +, ? ja muut.
- Valitse ohjelmointikieli tai työkalu, joka tukee regexiä, kuten Python, Perl tai grep.
- Kirjoita kuviosi käyttämällä erikoismerkkejä ja kirjaimellisia merkkejä.
- Käytä sopivaa funktiota tai menetelmää etsiäksesi kuviota merkkijonosta.
Esimerkkejä:
- Vastaa kirjaimellisten merkkien sarja kirjoittamalla kyseiset merkit kuvioon.
- Käytä hakasulkuja, esim. [0123456789] vastaa mitä tahansa numeroa.
- Käytä tähtimerkkiä (*), jotta edellisen lausekkeen nolla tai useampi esiintyminen täsmääisi.
- Käytä plus (+) -symbolia täsmäyttääksesi yhtä tai useampaa edellisen lausekkeen esiintymää.
- On tärkeää huomata, että säännöllinen lauseke voi olla monimutkaista ja vaikeasti luettavaa, joten on suositeltavaa käyttää työkaluja, kuten regex-testajia, virheenkorjaukseen ja mallien optimointiin.
Säännöllinen lauseke (jota kutsutaan joskus rationaaliseksi lausekkeeksi) on merkkijono, joka määrittää hakukuvion, pääasiassa käytettäväksi merkkijonojen yhdistämiseen tai merkkijonovastaamiseen, eli vastaavien toimintojen etsimiseen ja korvaamiseen. Säännölliset lausekkeet ovat yleinen tapa sovittaa kuvioita merkkijonoihin. Sitä käytetään kaikilla ohjelmointikielillä, kuten C++, Java ja Python.
ipconfig Ubuntussa
Mikä on säännöllinen lauseke ja mikä tekee siitä niin tärkeän?
Regexiä käytetään Google Analytics URL-osoitteiden haun tukemisessa ja korvauksissa suosituimmissa muokkausohjelmissa, kuten Sublime, Notepad++, Brackets, Google Docs ja Microsoft Word.
Example : Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$>
Yllä olevaa säännöllistä lauseketta voidaan käyttää tarkistamaan, onko tietty merkkijoukko sähköpostiosoite vai ei.
Kuinka kirjoittaa säännöllisiä lausekkeita?
Säännöllisten lausekkeiden kirjoittamiseen käytetään tiettyjä elementtejä, kuten alla on mainittu:
1. Toistimet ( *, + ja { } )
Nämä symbolit toimivat toistimina ja kertovat tietokoneelle, että edellistä merkkiä tulee käyttää useammin kuin kerran.
2. Tähtimerkki ( * )
Se käskee tietokonetta vastaamaan edellistä merkkiä (tai merkkijoukkoa) 0 kertaa tai useammin (äärettömästi).
Example : The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>
3. Plussymboli ( + )
Se käskee tietokonetta toistamaan edellisen merkin (tai merkkijoukon) vähintään yhden tai useamman kerran (äärettömästi).
Example : The regular expression ab+c will give abc, abbc, abbbc, … and so on.>
4. Kiharat aaltosulkeet { … }
Se käskee tietokonetta toistamaan edellistä merkkiä (tai merkkijoukkoa) niin monta kertaa kuin tässä sulussa oleva arvo.
Example : {2} means that the preceding character is to be repeated 2 times, {min,} means the preceding character is matches min or more times. {min,max} means that the preceding character is repeated at least min & at most max times.>
5. Jokerimerkki ( . )
Pistesymboli voi korvata minkä tahansa muun symbolin, minkä vuoksi sitä kutsutaan jokerimerkiksi.
Example : The Regular expression .* will tell the computer that any character can be used any number of times.>
6. Valinnainen merkki (?)
Tämä symboli kertoo tietokoneelle, että edellinen merkki saattaa olla tai ei välttämättä ole sovitettavassa merkkijonossa.
Example : We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be present in the name of file format.>
7. Caret ( ^ ) -symboli ( Ottelun asetuspaikka)
Caret-symboli kertoo tietokoneelle, että osuman on aloitettava merkkijonon tai rivin alusta.
Example : ^d{3} will match with patterns like '901' in '901-333-'.>
8. Dollarin ( $ ) symboli
Se kertoo tietokoneelle, että vastaavuuden on tapahduttava merkkijonon lopussa tai ennen merkkiä rivin tai merkkijonon lopussa.
pete davidsonin ikä
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.>
9. Hahmoluokat
Hahmoluokka vastaa mitä tahansa merkkijoukkoa. Sitä käytetään vastaamaan kielen peruselementtejä, kuten kirjainta, numeroa, välilyöntiä, symbolia jne.
s : vastaa mitä tahansa välilyöntiä, kuten välilyöntiä ja sarkainta.
S : vastaa kaikkia muita kuin välilyöntejä.
d : vastaa mitä tahansa numeromerkkiä.
D: vastaa mitä tahansa ei-numeroisia merkkejä.
Sisään : vastaa mitä tahansa sanamerkkiä (periaatteessa aakkosnumeerinen)
SISÄÄN : vastaa mitä tahansa muuta kuin sanamerkkiä.
: vastaa mitä tahansa sanarajaa (tämä sisältää välilyönnit, väliviivat, pilkut, puolipisteet jne.
[set_of_characters]: Vastaa mitä tahansa yksittäistä merkkiä sarjassa_of_characters. Oletusarvoisesti vastaavuus erottelee kirjainkoolla.
Example : [abc] will match characters a,b and c in any string.>
10. [^set_of_characters] Kielteisyys:
Vastaa mitä tahansa yksittäistä merkkiä, joka ei ole merkkijonossa. Oletusarvoisesti vastaavuus erottelee kirjainkoolla.
Example : [^abc] will match any character except a,b,c .>
11. [ensimmäinen] Merkkialue:
Vastaa mitä tahansa yksittäistä merkkiä ensimmäisestä viimeiseen.
Example : [a-zA-z] will match any character from a to z or A to Z.>
12. Pakomerkki ( )
Jos haluat täsmäyttää todelliset '+', '.' jne. merkit, lisää kenoviiva( ) ennen kyseistä merkkiä. Tämä käskee tietokoneen käsittelemään seuraavaa merkkiä hakumerkkinä ja harkitsemaan sitä vastaavan mallin löytämiseksi.
Example : d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>
13. Merkkien ryhmittely ( )
Joukko säännöllisen lausekkeen eri symboleja voidaan ryhmitellä yhteen toimimaan yhtenä yksikkönä ja käyttäytymään lohkona. Tätä varten sinun on käärittävä säännöllinen lauseke suluissa( ).
Example : ([A-Z]w+) contains two different elements of the regular expression combined together. This expression will match any pattern containing uppercase letter followed by any character.>
14. Pystypalkki ( | )
Vastaa mitä tahansa elementtiä, joka on erotettu pystypalkkimerkillä (|).
Example : th(e|is|at) will match words - the, this and that.>
15. umero
Taustaviittaus: mahdollistaa aiemmin sovitetun alilausekkeen (lauseke, joka on kaapattu tai suljettu ympyränmuotoisten hakasulkeiden sisällä) tunnistamisen myöhemmin samassa säännöllisessä lausekkeessa. tarkoittaa, että n:nnen hakasulkeen sisällä oleva ryhmä toistetaan nykyisessä paikassa.
linuxin virhekoodit
Example : ([a-z])1 will match ee in Geek because the character at second position is same as character at position 1 of the match.>
16. Miten ( ?# kommentti )
Inline-kommentti: Kommentti päättyy ensimmäiseen sulkevaan sulkuun.
Example : A(?#This is an inline comment)w+>
17. # [rivin loppuun]
X-tilan kommentti. Kommentti alkaa #-merkillä ilman koodia ja jatkuu rivin loppuun.
Example : (?x)Aw+#Matches words starting with A>