C# Regex opetusohjelma: Mikä on C# säännöllinen lauseke?

Tässä C# Regex -opetusohjelmassa selitetään, mikä on säännöllinen lauseke C#-kielessä, sen syntaksi, Regex-luokan metodit ja miten näitä metodeja käytetään esimerkkien avulla:

Säännöllistä lauseketta käytetään C#:ssa tietyn merkkikuvion täsmäyttämiseen. Säännöllistä lauseketta käytetään aina, kun käyttäjän on löydettävä jokin toistuva kuvio tai tehtävä tietojen validointi tai jopa tarkistettava tietojen muotoilu.

RegExiä käytetään sen selvittämiseen, sisältääkö merkkijono tietyn merkkikuvion tai täsmääkö se sen kanssa. RegEx on ensisijaisesti merkkijono, joka ilmaisee kuvion.

Kuvio voi olla mitä tahansa numeroita, merkkejä tai niiden yhdistelmiä. Regexiä käytetään laajalti validointiin, merkkijonojen jäsennykseen tai yhteensovittamiseen, esimerkiksi, selvittää, vastaako merkkijono valuuttaformaattia, puhelinnumeroa tai päivämäärämuotoa.

Regex-luokka C#:ssa

Regex-luokkaa käytetään C#:ssa regex-operaatioiden suorittamiseen. Se sisältää useita eri metodeja, joita voidaan käyttää erilaisten regexiin liittyvien operaatioiden suorittamiseen.

Sitä voidaan käyttää suuren tekstin jäsentämiseen tietyn merkkijakson löytämiseksi käyttämällä menetelmiä, joita voidaan käyttää täsmäämiseen, korvaamiseen tai merkkijakson jakamiseen.

Regex-luokka on nimiavaruuden sisällä; System.Text.RegularExpression. Luokka hyväksyy parametrina merkkijonon merkkijonon muodossa.

C# Regex-menetelmät

IsMatch

Regex-luokan yksinkertaisin ja hyödyllisin metodi on IsMatch-metodi. Tällä metodilla on erilaisia ylikuormituksia merkkien täsmäyttämiseen eri parametrien perusteella.

Yksinkertaisin on

Replace(String text, String replacementText)

replace-metodi hyväksyy kaksi parametria ja palauttaa merkkijonoarvon. Ensimmäinen parametri on merkkijono tai regex, jota haluat käyttää täsmäämiseen, ja toinen on regexin korvaava merkkijono.

Menetelmä toimii etsimällä annetun tekstin vastaavuuden ja korvaa sen käyttäjän antamalla korvaavalla tekstillä. Menetelmän allekirjoitus on seuraava public string Korvaa(merkkijono teksti, merkkijono korvaavaTeksti)

Public string[] Split(string text)

Regex-luokan split-metodi hyväksyy parametrina syötetyn merkkijonon ja palauttaa alimerkkijonoja sisältävän joukon. Metodin parametri on merkkijono, joka halutaan jakaa.

Menetelmä etsii merkkijonosta sopivan syöttökuvion, ja kun se löytää sopivan kuvion, se jakaa merkkijonon kyseisessä kohdassa pienempiin osajonoihin, joissa kukin sopiva kuvio on katkaisukohta. Menetelmä palauttaa sen jälkeen kaikki osajonot sisältävän joukon.

Regex C# -menetelmien käyttö

Tutustutaan näiden menetelmien käyttöön kirjoittamalla yksinkertainen ohjelma.

 public static void Main(string[] args) { string patternText = "Hello"; Regex reg = new Regex(patternText); //IsMatch(merkkijono input) Console.WriteLine(reg.IsMatch("Hello World"))); //IsMatch(merkkijono input, int index) Console.WriteLine(reg.IsMatch("Hello", 0))); //IsMatch(merkkijono input, merkkijono pattern) Console.WriteLine(Regex.IsMatch("Hello World", patternText))); //Korvaa(merkkijono input, stringreplacement) Console.WriteLine(reg.Replace("Hello World", "Korvaa")); //Split(string input, string pattern) string[] arr = Regex.Split("Hello_World_Today", "_"); foreach(string subStr in arr) { Console.WriteLine("{0}", subStr); } } 

Yllä olevan ohjelman tuloste

Totta

Totta

Totta

Korvaa maailma

Hei

Maailma

Tänään

Yllä olevan koodin selitys:

Ohjelman alussa olemme luoneet objektin ja kuvion, jota käytämme koodin sovittamiseen myöhemmässä merkkijonosyötössä, olemme käyttäneet tekstin muotoilua pitääkseen asiat yksinkertaisina alussa, mutta jos olet tyytyväinen, voit aloittaa säännöllisten lausekkeiden kuvioiden käytön. (Käsittelemme säännöllisten lausekkeiden kuvioita yksityiskohtaisesti, kun etenemme eteenpäin tässä opetusohjelmassa).

Sitten käytämme match-merkkijonoa syöttääksemme tekijän, jonka olemme ilmoittaneet määritellyksi objektiksi, syöttömerkkijonon kanssa, ja jos se täsmää, se palaa palauttamaan false.

Seuraava käyttämämme metodi on IsMethod(string input, int index). Tämä metodi hyväksyy kaksi parametria, ja tässä annamme syöttömerkkijonon ja indeksin, josta ottelun on alettava. Esimerkiksi, Tässä tapauksessa halusimme aloittaa täsmäytyksen syötetyn merkkijonon alusta.

Sitten näytimme IsMatch(string input, string pattern):n käytön. Tässä annoimme syöttömerkkijonon, jonka jälkeen halusimme selvittää, onko kuvion teksti läsnä syötteessä vai ei. Jos se on läsnä, se palauttaa true (kuten meidän tapauksessamme), muuten se palauttaa false.

Toinen käsittelemämme menetelmä on korvattu. Tämä menetelmä on varsin käyttökelpoinen ohjelmissa, joissa halutaan tehdä muutoksia syöttötietoihin tai muuttaa olemassa olevien tietojen muotoa.

Tässä annamme kaksi parametria, joista ensimmäinen on syöttömerkkijono ja toinen merkkijono, jota voidaan käyttää korvaamaan edellinen merkkijono. Tämä menetelmä käyttää myös aiemmin määrittelemässämme regex-objektissa määriteltyä mallia.

Toinen käyttämämme tärkeä menetelmä on split. Tätä menetelmää käytetään jakamaan annettu merkkijono joidenkin toistuvien mallien perusteella. Tässä olemme antaneet merkkijonon "Hello_World_Today".

Oletetaan, että haluamme poistaa alaviivan annetusta merkkijonosta ja saada osajonot. Tätä varten määrittelemme input-parametrin ja annamme sitten kuvion, jota haluamme käyttää jakokohtana. Metodi palauttaa array:n, ja voimme käyttää yksinkertaista silmukkaa, kuten foreach, hakiaksemme kaikki merkkijonot.

Säännöllisen lausekkeen syntaksi

On olemassa useita erilaisia syntaksia, kuten erikoismerkkejä, kvanttoreita, merkkiluokkia jne., joita voidaan käyttää tietyn kuvion löytämiseksi tietystä syötteestä.

Tässä opetusohjelman osassa sukellamme syvälle regexin tarjoamaan syntaksiin ja yritämme ratkaista joitakin tosielämän skenaarioita niiden avulla. Ennen kuin jatkamme, varmista, että olet saanut perusidean regexistä ja regex-luokan eri metodeista.

Erikoismerkit

Erikoismerkkejä regexissä käytetään antamaan useita eri merkityksiä kuviolle. Seuraavaksi tarkastelemme joitakin yleisesti käytettyjä erikoismerkkejä ja niiden merkitystä regexissä.3

Erikoismerkit Merkitys
^ Tämä on yksi yleisimmin käytetyistä syntakseista. Se tarkoittaa alkua, jonka jälkeinen sana tai kuvio aloittaa täsmäytyksen syöttötekstin alusta.
$ Tätä merkkiä käytetään merkkijonon lopussa olevien sanojen täsmäyttämiseen. Ennen tätä merkkiä merkityt sanat/mallit täsmäävät merkkijonon lopussa olevien sanojen kanssa.
. Pistettä käytetään sovittamaan yhteen merkkijonon yksittäinen merkki, joka esiintyy kerran.
\n Tätä käytetään uutta riviä varten.
\d ja \D Pienellä kirjaimella "d" merkitään numeromerkkejä ja isolla kirjaimella "D" merkkejä, jotka eivät ole numeromerkkejä.
\s ja \S Pienaakkosella 's' merkitään valkoisia välilyöntejä ja suuraakkosella 'S' merkitään muita kuin valkoisia välilyöntejä.
\w ja \W Pienaakkosella 'w' vastataan aakkosnumeerisiin/epätunnuksellisiin merkkeihin ja suuraakkosella 'W' vastataan muihin kuin sanamerkkeihin.

Kvantitatiivin syntaksi

Kvantitatiivisyntaksia käytetään laskemaan tai kvantifioimaan vastaavuuskriteerit. Esimerkiksi, jos haluat tarkistaa, sisältääkö tietty merkkijono aakkoset yhden tai useamman kerran. Katsotaanpa joitakin yleisesti käytettyjä kvantifikaattoreita säännöllisessä lausekkeessa.

Kvantitatiivin syntaksi Merkitys
* Tätä symbolia käytetään vastaamaan edeltävää merkkiä.
+ Tätä symbolia käytetään yhden tai useamman merkin yhdistämiseen rivissä.
{n} Sulkeiden sisällä olevaa numeroa käytetään vastaamaan edeltävän merkin numeroa, joka on määritelty sulkeiden sisällä olevalla numerolla.
{n,} Sulkeiden sisällä olevaa numeroa ja tätä symbolia käytetään varmistamaan, että se vastaa vähintään n:ää (eli sulkeiden sisällä olevaa lukuarvoa).
{n, m} Tätä symbolia käytetään sovittamaan edeltävästä merkistä n kertaa - m kertaa.
? Tämä symboli tekee edeltävistä merkeistä valinnaisia.

Hahmoluokka

Merkkiluokka tunnetaan myös nimellä merkkijoukko, ja sitä käytetään kertomaan regex-moottorille, että se etsii yhden osuman useista merkeistä. Merkkiluokka vastaa vain yhtä merkkiä, eikä merkkijoukon sisällä olevien merkkien järjestyksellä ole merkitystä.

Hahmoluokka Merkitys
[ range ] Aaltosulkujen symbolia käytetään merkkialueen vertaamiseen. Voimme esimerkiksi käyttää sitä määrittelemään minkä tahansa merkin a-z-alkuisten aakkosten väliseltä alueelta sulkemalla alueen sulkujen sisälle, kuten [a-z].

Tai voimme myös vastata numeeriseen "1" - "9" merkitsemällä [1-9].

[^ alue] Tämä tarkoittaa negaatioluokkaa. Sitä käytetään sovittamaan mitä tahansa, joka ei kuulu sulkujen sisällä olevaan alueeseen.
\ Tätä käytetään sovittamaan erikoismerkkejä, joilla voi olla omat regex-symbolinsa. Vinoviivaa käytetään sovittamaan erikoismerkkejä niiden kirjaimellisessa muodossa.

Ryhmittely

Pyöreitä hakasulkeita tai sulkuja voidaan käyttää ryhmittämään säännöllisen lausekkeen osa yhteen. Näin käyttäjä voi joko lisätä lausekkeeseen kvantifikaattorin.

Ryhmittely Merkitys
( ryhmän ilmaisu ) Pyöreitä hakasulkeita käytetään lausekkeen ryhmittelyyn.
The

C# Säännölliset lausekkeet Esimerkkejä

Edellisessä osiossa opimme säännöllisen lausekkeen symboleista, ja tässä osiossa tarkastelemme yksityiskohtaisesti eri symbolien käyttöä säännöllisessä lausekkeessa ja yhdistelmiä, joilla niitä voidaan käyttää eri lausekkeiden vastaavuuteen.

Tässä opetusohjelmassa käsittelemme joitakin yleisimpiä tosielämän skenaarioita, joita saatat kohdata kehittäjänä työskennellessäsi jonkin sovelluksen parissa tai yksinkertaisessa ohjelmassa, jolla haetaan käyttäjän syötteitä.

Säännöllisen lausekkeen esimerkki tosielämän skenaarioiden avulla

Opitaan lisää säännöllisistä lausekkeista reaaliaikaisten esimerkkien avulla.

Skenaario 1: Tarkista, koostuuko syöttömerkkijono 6-numeroisista aakkosmerkeistä, joihin ei sovelleta isoja ja pieniä kirjaimia.

Tavallisin säännöllisen lausekkeen käyttökohde on tietyn sanan etsiminen ja yhteensovittaminen. Esimerkiksi, Sanotaan, että haluan käyttäjältä satunnaisen aakkosmerkkijonon, jonka pitäisi olla täsmälleen 6-numeroinen.

Voimme käyttää yksinkertaista säännöllistä lauseketta sen vahvistamiseksi. Kirjoitetaan ohjelma, jotta ymmärtäisimme paremmin säännöllisten lausekkeiden kirjoittamisen ja käytön.

 public static void Main(string[] args) { string patternText = @"^[a-zA-Z]{6}$"; Regex reg = new Regex(patternText); //Kun kuvio täsmää Console.WriteLine(reg.IsMatch("Helios")); //Kun kuvio ei täsmää Console.WriteLine(reg.IsMatch("Helo")); } 

Lähtö

Totta

False

Selitys

Tässä esimerkissä yritämme validoida syöttömerkkijonon ja tarkistaa, sisältääkö se kuusinumeroisia aakkosmerkkejä. Merkit voivat olla sekä pieniä että isoja, joten meidän on otettava myös tämä huomioon.

Tässä määrittelimme säännöllisen lausekkeen kuvion muuttujaan "patternText" ja annoimme sen sitten regex-olioon. Seuraavat koodirivit ovat melko yksinkertaisia, käytimme IsMatch-menetelmää säännöllisen lausekkeen ja syötetyn merkkijonon vertaamiseen.

Katsotaan nyt suunnittelemaamme säännöllistä lauseketta. Lauseke (^[a-zA-Z]{6}$) koostuu neljästä eri osasta: "^", "[a-zA-Z]", "{6}" ja "$". Toinen osa tarkoittaa täsmääviä merkkejä, joita käytetään lausekkeen täsmäytykseen, "a-z" pienille kirjaimille ja "A-Z" isoille kirjaimille.

Ensimmäisen osan merkki "^" varmistaa, että merkkijono alkaa toisessa osassa määritellyllä kuviolla eli pienillä ja isoilla aakkosilla.

Kolmannessa osassa olevat suljetut aaltosulkeet määrittävät niiden merkkien lukumäärän merkkijonossa, jotka voidaan tunnistaa määritellyn kuvion avulla, eli tässä tapauksessa 6, ja "$"-symboli varmistaa, että merkkijono päättyy toisessa osassa määriteltyyn kuvioon.

^[a-zA-Z]{6}$

Skenaario 2: Käytä säännöllistä lauseketta sen tarkistamiseen, että sana, joka alkaa sanalla "Super" ja jonka jälkeen on tyhjää tilaa, eli sen tarkistamiseen, onko "Super" lauseen alussa.

Oletetaan, että luemme käyttäjän syötettä ja haluamme varmistaa, että käyttäjä aloittaa lauseensa aina tietyllä sanalla, numerolla tai aakkosella. Tämä onnistuu melko helposti käyttämällä yksinkertaista säännöllistä lauseketta.

Katsotaanpa esimerkkiohjelmaa ja keskustellaan sitten yksityiskohtaisesti siitä, miten tämä lauseke kirjoitetaan.

 public static void Main(string[] args) { string patternText = @"^Super\s"; Regex reg = new Regex(patternText); //Kun kuvio täsmää Console.WriteLine(reg.IsMatch("Supermies")); //Kun kuvio ei täsmää Console.WriteLine(reg.IsMatch("Supersankari")); } 

Lähtö

Totta

False

Selitys

Tässäkin esimerkissä käytimme samanlaista koodiasetelmaa kuin ensimmäisessä esimerkissä. Säännöllisen lausekkeen kuvio tässä skenaariossa edellyttää täsmäämistä sellaisten sanojen tai lauseiden yhdistelmällä, jotka alkavat sanalla "Super".

^Super

Joten, koska haluamme vastata sanasarjan alusta alkaen, aloitamme laittamalla "^"-symbolin ja annamme sitten kuvion, jota haluamme vastata, tässä tapauksessa "Super". Nyt luomamme kuvio "^Super" voi vastata kaikkia super-arvoja, jopa superman tai supernatural, mutta emme halua vain sanaa "Super".

Tämä tarkoittaa, että sanan jälkeen on oltava valkoinen tila, joka merkitsee sanan loppua ja toisen sanan alkua. Tätä varten lisäämme kuvioon symbolin "\s", jolloin lopullisesta kuviostamme tulee seuraava

^Super\s

Skenaario 3: Käytä säännöllistä lauseketta löytääksesi kelvollisia tiedostonimiä, joissa on kuvatiedostotyypin laajennus.

Toinen tärkeä reaaliaikainen skenaario, jonka kehittäjät usein kohtaavat, on tiedostotyyppien validointi. Oletetaan, että käyttöliittymässä on latauspainike, joka hyväksyy vain kuvatyyppisiä tiedostopäätteitä.

Meidän on validoitava käyttäjän lataama tiedosto ja ilmoitettava hänelle, jos hän on ladannut väärän tiedostomuodon. Tämä onnistuu helposti käyttämällä säännöllistä lauseketta.

Alla on yksinkertainen ohjelma tämän tarkistamiseksi.

 public static void Main(string[] args) gif)$"; Regex reg = new Regex(patternText); //Kun kuvio täsmää Console.WriteLine(reg.IsMatch("abc.jpg")); Console.WriteLine(reg.IsMatch("ab_c.gif")); Console.WriteLine(reg.IsMatch("abc123.png")); //Kun kuvio ei täsmää Console.WriteLine(reg.IsMatch(".jpg"))); Console.WriteLine(reg.IsMatch("ask.jpegj")); 

Lähtö

Totta

Totta

Totta

False

False

Selitys

Tässä tapauksessa meidän on vastattava tiedostonimeä. Kelvollinen tiedostonimi koostuu kolmesta osasta ( tiedoston nimi + . + tiedostopääte ). Meidän on luotava säännöllinen lauseke, joka vastaa kaikkia kolmea osaa. Aloitetaan ensimmäisestä osasta eli tiedoston nimestä. Tiedoston nimi voi sisältää aakkosnumeerisia ja erikoismerkkejä.

Kuten aiemmin on todettu, symboli, joka tarkoittaa sitä, on "\w". Myös tiedostonimi voi olla yksi tai useampi merkki, joten käytetään symbolia "+". Yhdistämällä ne saamme symbolin ensimmäistä osaa varten.

 (\w+) 

Sulku erotteli tämän osiin. Seuraava osa on piste-symboli. Koska piste-symbolilla on merkityksensä regexissä, käytämme sen edessä backslashia antaaksemme sille kirjaimellisen merkityksen. Yhdistämällä molemmat saamme regexin kaksi ensimmäistä osaa katettua.

 (\w+)\. 

Kolmannessa ja viimeisessä osassa voimme nyt suoraan määritellä tarvittavat tiedostopäätteet, jotka on erotettu "

 (\w+)\.(jpg) 

Jos käytämme tätä ohjelmassa, voimme nähdä, että se vastaa oikeaa muotoa ja palauttaa true, mutta virheellisten muotojen kohdalla se palauttaa false.

Skenaario 4: Säännöllisen lausekkeen käyttö verkkosivuston osoitteen muodon vahvistamiseen

Oletetaan, että meillä on verkkolomake, joka hyväksyy verkko-osoitteen tai verkkotunnuksen. Haluamme, että käyttäjä syöttää oikean verkko-osoitteen tai verkkotunnuksen, kun hän täyttää lomakkeen. Säännöllinen lauseke voi olla varsin hyödyllinen sen määrittämiseksi, onko käyttäjä syöttänyt oikean verkko-osoitteen.

 public static void Main(string[] args) { string patternText = @"^www.[a-zA-Z0-9]{3,20}.(com 

Lähtö

Totta

False

Selitys

Haluamme etsiä kelvollista verkkotunnusta säännöllisen lausekkeen avulla. Kelvollinen verkkotunnus alkaa lyhenteellä "www", jota seuraa piste (.), sitten verkkosivuston nimi, jonka jälkeen piste (.) ja lopussa verkkotunnuksen laajennus.

Samoin kuin edellisessä skenaariossa, yritämme siis sovittaa sen osa kerrallaan. Aloitetaan ensin sovittamalla "www." Osa. Aloitamme siis aloitussymbolilla, sitten "www." Se on jotain kiinteää, joten käytämme aloitussymbolia ja sen jälkeen täsmällisiä sanoja, joita sovitamme.

 "^www." 

Sitten aloitamme työskentelyn toinen osa. Toinen osa verkko-osoite voi olla mikä tahansa aakkosnumeerinen nimi. Joten, tässä käytämme hakasulkeita läsnä merkkiluokassa määritellä alueen, joka on sovitettava. Kun lisätään toinen osa toisen osan kanssa toinen osa antaa meille.

 “^www.[a-zA-Z0-9]{3,20}” 

Olemme myös lisänneet sulkeet määritellaksemme verkkosivuston nimen vähimmäis- ja enimmäismerkkipituuden. Olemme antaneet vähimmäispituudeksi 3 ja enimmäispituudeksi 20. Voit antaa minkä tahansa vähimmäis- tai enimmäispituuden.

Nyt kun olemme käsitelleet verkko-osoitteen ensimmäisen ja toisen osan, jäljelle jää vain viimeinen osa, eli verkkotunnuksen laajennus. Se on melko samanlainen kuin edellisessä skenaariossa, sovitamme verkkotunnuksen laajennukset suoraan yhteen käyttämällä OR-menetelmää ja sisällyttämällä jokaisen kelvollisen verkkotunnuksen laajennuksen pyöreään hakasulkuun.

Jos siis lisäämme nämä kaikki yhteen, saamme täydellisen säännöllisen lausekkeen, joka vastaa mitä tahansa kelvollista verkko-osoitetta.

 www.[a-zA-Z0-9]{3,20}.(com 

Skenaario 5: Käytä säännöllistä lauseketta sähköpostitunnuksen muodon vahvistamiseen.

Oletetaan, että verkkosivuillamme on kirjautumislomake, jossa käyttäjiä pyydetään syöttämään sähköpostiosoitteensa. Ilmeisistä syistä emme halua, että lomake etenee eteenpäin, jos sähköpostiosoite on virheellinen. Voit tarkistaa, onko käyttäjän syöttämä sähköpostiosoite oikea vai ei, käyttämällä säännöllistä lauseketta.

Alla on yksinkertainen ohjelma sähköpostiosoitteen vahvistamiseksi.

 public static void Main(string[] args) { string patternText = @"^[a-zA-Z0-9\._-]{5,25}.@.[a-z]{2,12}.(com 

Lähtö

Totta

Totta

False

Selitys

Kelvollinen sähköpostiosoite sisältää aakkosia, numeroita ja joitakin erikoismerkkejä, kuten pisteen (.), katkoviivan (-) ja alleviivaukset (_), joita seuraa @-symboli, jonka jälkeen tulee verkkotunnus ja verkkotunnuksen laajennus.

Sähköpostiosoite voidaan siis jakaa neljään osaan: sähköpostin tunnisteeseen, @-symboliin, verkkotunnukseen ja viimeisenä verkkotunnuksen laajennukseen.

Aloitetaan kirjoittamalla säännöllinen lauseke ensimmäistä osaa varten. Se voi olla aakkosnumeerinen ja sisältää joitakin erikoismerkkejä. Oletetaan, että lausekkeen koko on 5-25 merkkiä. Samoin kuin aiemmin (sähköpostiskenaariossa) kirjoitimme sen, voimme saada aikaan seuraavan lausekkeen.

 ^[a-zA-Z0-9\._-]{5,25} 

Siirrymme nyt toiseen osaan. Se on verrattain helppoa, koska meidän on löydettävä vain yksi symboli eli "@". Lisäämällä se yllä olevaan lausekkeeseen saamme.

 ^[a-zA-Z0-9\._-]{5,25}.@ 

Siirrymme kolmanteen osaan eli verkkotunnus koostuu aina pienistä aakkosista. Voit halutessasi käyttää myös numeroita tai isoja aakkosia, mutta tässä skenaariossa käytämme pieniä aakkosia.

Jos lisäämme lausekkeen pienille aakkosille, joiden pituus on 2-12 merkkiä, saamme seuraavan lausekkeen.

 ^[a-zA-Z0-9\._-]{5,25}.@.[a-z]{2,12} 

Nyt meille jää vain verkkotunnuslaajennuksen lauseke, kuten neljännessä skenaariossa, käsittelemme joitakin erityisiä verkkotunnuslaajennuksia. Voit halutessasi lisätä niitä lisää sulkemalla ne pyöreän hakasulkeen sisälle ja erottamalla ne "

Yhdistämällä tämä lauseke edellisen lausekkeen kanssa saamme lopullisen lausekkeen arvon sähköpostin validointia varten.

 ^[a-zA-Z0-9\._-]{5,25}.@.[a-z]{2,12}.(com 

Päätelmä

Tässä opetusohjelmassa opimme, mitä säännöllinen lauseke on ja mitä syntaksia/symboleita käytetään säännöllisen lausekkeen merkitsemiseen ja rakentamiseen. Säännöllisen lausekkeen avulla käyttäjä voi sovittaa merkkijonon annettuun kuvioon.

Tämä on varsin hyödyllistä tilanteissa, jotka vaativat syötteen nopeaa validointia, esimerkiksi kun käyttäjä syöttää sähköpostiosoitteensa tai puhelinnumeronsa, regexiä voidaan käyttää validoimaan muoto nopeasti ja ilmoittamaan käyttäjälle ongelmasta, jos käyttäjä on syöttänyt väärän muodon.

Opimme myös käsittelemään erilaisia skenaarioita, joita voidaan käyttää erilaisissa sovelluksissa. Katsoimme askel askeleelta, miten kirjoitetaan lausekkeita, jotka vastaavat sanoja, aakkosia, verkkosivujen osoitteita, sähköpostitunnuksia ja jopa tiedostotyyppejä ja -laajennuksia.

Nämä skenaariot ovat varsin hyödyllisiä käyttäjän syötteiden reaaliaikaisessa validoinnissa ilman lukuisten koodirivien kirjoittamista ja auttavat siten säästämään aikaa ja vähentämään monimutkaisuutta. Näitä esimerkkejä on käytetty opastamaan käyttäjää luomaan omia säännöllisiä lausekkeita ja auttamaan häntä siten käsittelemään useita muita erilaisia skenaarioita.

Regex voi olla yksinkertainen, kuten aakkosten tai numeroiden käyttäminen tietyn merkkisarjan kanssa, tai monimutkainen käyttämällä erikoismerkkien, kvantifioijien, merkkiluokkien jne. yhdistelmää monimutkaisten formaattien validointiin tai tietyn kuvion etsimiseen merkkisarjasta.

Lyhyesti sanottuna säännöllinen lauseke on melko tehokas työkalu ohjelmoijalle, ja se auttaa vähentämään koodin määrää, jota tarvitaan tietojen täsmäytys- tai validointitehtävän suorittamiseen.

Vieritä ylös