vakiolausekkeita Perl avustettavan - Osa 6 Johdanto Tämä on kuudes osa minun sarja, vakiolausekkeita Perl avustettavan. Monet esimerkkitapaukset olemme törmännyt ovat yksinkertaisia esimerkkejä. Tässä osassa tarkastelemme kaksi esimerkkiä, jotka ovat vaativampia. Ennen jätämme tämä osa sarjasta, puhumme mitä kutsutaan vetäytymistä, ja sitten katsomme uudelleen X muuntaja.
Tarvittavat toimenpiteet rakentaa Regex Nämä ovat tarvittavat toimenpiteet rakentaa regex: * Määritä tehtävän yksityiskohtaisesti, * Murra ongelma pienempiin osiin, * Käännä pieniä osia osaksi regexes, * Yhdistä regexes, * Optimoi lopullinen yhdistetyn regexes. Kaksi Esimerkit Esimerkki 1 värin heksadesimaalikoodi Tarkista määrittäminen Tehtävä yksityiskohtaisesti esimerkki heksadesimaalinen väri koodi on # 4C8. Toinen esimerkki on # 44CC88. * Se alkaa hash, jota seuraa joko 3 heksadesimaalilukuina tai 6 heksadesimaalilukuina.
* Heksadesimaalilukua ovat: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, ja F * heksadesimaali kirjaimet voi olla alhaisempi tai isoilla kirjaimilla. Breaking Down ongelma pienempiin osiin * Se alkaa #. * Sitä seuraa 3 heksadesimaalilukuina tai * 6 heksadesimaalilukuina * Ei ole merkki jälkeen 3 tai 6 heksadesimaalinumeroa. Kääntää regexes On kolme pieniä osia edellä.
Ensimmäinen osa antaa regex: /^ # /toinen osa antaa regex: /[0-9a-FA-F] {3} /Kolmas osa antaa regex: /[0-9a-FA-F] { 6} /viimeinen osa antaa regex /$ /Yhdistämällä regexes Tämä on yhdistetty regex: /^ # ([0-9a-FA-F] {3} $) | ([0-9a-FA-F] {6} $) /Huomautus vaihtoehtoinen metamerkki, | kolmen tai kuuden heksadesimaalinumeroa. Huomaa myös, suluissa jotka erottavat vaihtoehtoinen ryhmiä. Optimointi yhdistetyn Regex Tämä tarkoittaa lyhentää yhdistetyn regex. Huomaa, että 0-9 lyhennetään \\ d. Joten yhdistetyssä regex, muutamme kahden esiintymät 0-9 \\ d.
On olemassa itse asiassa kaksi ryhmää; me vähentää näitä yhteen ryhmään poistamalla sisempi suluissa. Optimoitu regex on: /^ # ([\\ da-FA-F] {3} $ | [\\ da-FA-F] {6} $) /Tämä ilmaus on lyhyempi kuin edellä neljä merkkiä. Seuraava koodi havainnollistaa käyttöä regex: käytämme tiukkoja; (Minun $ matchedString) = ("# 44CC88" = ~ /^ # ([\\ da-FA-F] {3} $ | [\\ da-FA-F] {6} $) /); print $ matchedString; Lähtö on: 44CC88 Esimerkki 2 käyttäjänimi Tarkista määrittäminen Tehtävä yksityiskohtaisesti Oletetaan, että meillä on sivusto, jossa käyttäjät on kirjauduttava.
Voimme kertoa käyttäjälle, että hänen nimensä pitäisi olla kirjaimia pienillä tai isoilla kirj
0 ( Dot Net )