MySQL säännöllisiä lausekkeita - Osa 3Introduction Tämä on osa 3 minun sarja, MySQL säännöllisiä lausekkeita. Oletan olet lukenut edellisen osa sarjasta. Tämä on jatkoa. Tässä osa sarjasta katsomme MySQL säännöllisiä lausekkeita Pattern Constructs. Edellisessä osa sarjasta, näimme muutamia yksinkertaisia kuvio rakentaa. Täällä me tarkastelemme pidemmälle viety malli constructs.
Database pöytä kuva Meillä on käytettävä seuraavia tietokannan taulun nimeltä Lemmikkieläimet, ohjeellisia: | Nimi | omistaja | lajit | sukupuoli | syntymä | kuolema | + -------- + -------- + --------- + ------ + ------------ + - ----------- + | Buffy | Harold | koira | f | 13.5.1999 | NULL | | Bowser | Diane | koira | m | 1999-08-31 | 2005-07-29 | | Pörröinen | Harold Taylor | kissa | f | 2003-02-04 | NULL | | Timtim | Gwen Jones | kissa | m | 2004-03-17 | NULL | | Whistler | Gwin | bir5d | NULL | 2007-12-09 | NULL | Taulukon tiedot on hieman erilainen kuin taulukossa edellisen osa sarjasta.
Sinun tulisi testaamalla SELECT alla tämän table.The (abc) Muodosta Tässä, (abc) tarkoittaa yksinkertaisesti sitä, yksi, kaksi, kolme, neljä, viisi jne merkkiä suluissa. Kuvioksi, suluissa ryhmä merkkiä joukoksi. Joukko merkkiä kuvio käyttäytyy yhden merkin ja erikoismerkkejä näimme edellisessä osa sarjasta, voidaan niitä kuin ne olisivat yksi merkki.
Esimerkiksi, sinulla voi olla jotain, (ab) +, (ABC) *, (abcd) ?, jne seuraava SELECT palauttaa neljäs rivi yllä olevassa taulukossa, yhteensovitus neljäs solun arvoa "Timtim" on Ensimmäinen sarake: SELECT * lemmikkieläimistä missä nimi rLike "(Tim) +"; Kuvio on, "(Tim) +". Kaavaan löytyy yksi tai useampi (Tim) yhdessä aineessa. Aihe Hyväksytty IS, "Timtim"; on kaksi (Tim) aihe. Jos kuvio olisi, "(Tim) *", kaikki solujen arvoja ensimmäisen sarakkeen olisi sovitettu, koska, * tarkoittaa nolla tai useampia (mutta + tarkoittaa yhtä tai useampaa) .
the [[::]] Rakenteet sana on sarja sana merkkejä, ei edellä tai seuraa sana merkkiä. Sana merkki on aakkosnumeerinen merkki tai alaviiva, _. Esimerkkejä sana merkkejä: "", "b", "c", "1", "2", "3", jne. Merkki, [[::]] in täsmää sanan loppuun . Nämä rakenteet ovat sana-rajan markkereita. Ne eivät ole merkkejä; ne ovat raja tunnisteita. Seuraavat SELECT palauttaa neljäs rivi edellä olevasta taulukosta, yhteensovitus "Gwen" aihe, "Gwen Jones" neljännen solun toisessa sarakkeessa: SELECT * lemmikkieläimistä jossa omistaja rLike "Gwen [[:>:]] "; Kuvio on, "Gwen [[:>:]]".
Se alkaa sanalla "Gwen" ja sen jälkeen loppuun sanan merkki, [[:>:]]. Niin, se vastaa "Gwen" ja sen pää aihe, "Gwen Jones". Aihe, sanan "Gwen", sinulla on sana-rajan ennen välilyönti. [[: Huomaa, että jokainen sana-rajapyykki on kaksi paria vastakkaista hakasulkeissa, kaksi kaksoispistettä ja character.The [DX] ja [^-dX] Piirtää piste erikoismerkki vastaa mitä tahansa yksittäistä merkkiä. Entä silloin, kun haluat sovittaa yhden merkin sarjasta merkkiä? Harkitse sanat, "Gwen", "Gwin", "Gwan" ja "Gw4n". Sanat eroavat luonteeltaan kolmannessa paikassa.
Ensimmäinen sana on "e" kolmannen asemassa; toinen sana on "i" kolmannen asemassa; kolmas sana on "" kolmannessa asennossa; ja neljäs sana on "4" kolmannessa asennossa. Joten saatat olla kiinnostunut vastaamaan merkkiä, "e", "i", "" ja "4". Tämä tarkoittaa haluat sovittaa Yksi hahmo asetettu, [eia4]. Malli tässä tapauksessa on, "[eia4]", mikä vastaa yhden merkin asemassa aihe eli "e" tai "I" tai "" tai "4". Seuraavat SELECT palaa neljäs ja viides rivit taulukosta ilmenee, Matching "Gwen Jones" neljännellä solussa ja "Gwin" viidennessä solussa, kaikki toisessa sarakkeessa.
SELECT * lemmikkieläimistä jossa omistaja rLike "GW [eia4] n"; Kuvio lausunto on "GW [eia4] n". Aiheet ovat "Gwen Jones" ja "Gwin". Sana mukana aiheista, on "Gwen" for "Gwen Jones" ja "Gwin" for "Gwin". "Gwen" ja "Gwin" eroavat kolmannessa merkkien sijainnin. Joten, aihe, "Gwen Jones", "e" in "Gwen" on sovitettu ja aihe, "Gwin", "i" on sovitettu. "E" ja "i" ovat kolmannella sijalla sanat, "Gwen" ja "Gwin" vastaavasti. Rakenteessa, "GW [eia4] n", [eia4] on kolmannella sijalla. Huomautus: [eia4] ja (eia4) tarkoittavat eri asioita.
[Eia4] tarkoittaa "e" tai "I" tai "" tai "4"; kun taas (eia4) tarkoittaa käsitellä joukon merkkejä, "eia4", yhtenä character.Ranges [eia4] ylhäältä on esimerkki luokan. Entä tapaus, jossa haluat ottelu luokasta, [abcde]? Huomaa, että tämä on eri merkkiä aakkoset "" on "e". [Abcde] on paremmin kirjoitettu, [e]. Huomaa käyttö väliviivaa. Voit yhdistää erilaisia yhdellä merkkiä. Esimerkiksi [DX] tarkoittaa "" tai "b" tai "C" tai "d" tai "X", eli valikoima mainos ja X.
Voit myös valikoima numeroilla, esimerkiksi [0-5], [3-9], [0-9] tyhjäksi luokan Jos haluat sovittaa merkin asemassa aihe paitsi olevista luokassa, niin voisitte käyttää ^ symboli. Joten, jos haluat sovittaa tahansa merkkiä paitsi pienimmille [DX], kirjoitetaan [^-dX] rakenteessa. Huomautus käytön ja aseman ^ luokassa konstrukti.
Seuraavat SELECT palaa ensimmäisen ja toisen rivit, matching "koira" ensimmäisessä ja toisessa solut kolmannen paksusuolen: SELECT * lemmikkieläimistä jossa lajeista rLike "d [^] g"; Kuvio lausunto on "d [^] g" tarkoittaa, että ei merkkiä välillä, olisi etsitään kyseinen kanta. Kuvio Hyväksytty, alkaa 'd', jota seuraa merkki, joka ei välillä, ja sitten seuraa "g". "O" ei ole välillä, joten "koira" on matched.Formal hahmoluokkia Jotkut luokat ovat niin tärkeitä, että ne on nimet.
Seuraavassa luettelossa nimiä näiden luokkien ja niiden kuvaukset: Nimi: Kuvaus alnum: Aakkosnumeeriset merkit alpha: aakkosia tyhjä: välilyönnit cntrl: Ohjausmerkit numero: Digit merkkiä kuviossa: Graafinen merkkiä alempi: Pienet kirjaimia tulostaa: Graphic tai tila merkkiä punct: Välimerkit tilaa: Space, välilehti, rivinvaihto, ja rivinvaihto ylempi: Isot aakkosia xdigit: heksadesimaalinumero merkkiä haluat käyttää jotakin näistä luokista, käytät merkki konstrukti, [[: nimi:]].
Seuraavat SELECT palaa viimeisen rivin taulukossa matching "bir5d" varten numeron, 5, viidennessä solussa kolmannen sarakkeen: SELECT * lemmikkieläimistä jossa lajeista rLike "bir [[: numero:]] d"; Kuvio on, "bir [[: numero:]] d". Joten aihe "bir5d", joilla numero, 5, neljännessä asemassa on sovitettu. [[: Numero:]] on neljännessä kuvion sijaintia, "bir [[: numero:]] d" .the x {m}, X {m,} ja X {m, n} Piirtää Olkoot m ja n oltava kokonaislukuja (kokonaislukuja). X {m} kuvioksi vastaa täsmälleen m peräkkäisen tapauksissa x. X {m,} vastaa vähintään m peräkkäisen tapauksissa x.
X {m, n} ottelut välillä m ja n peräkkäistä tapauksia x. Katsomme nyt joitakin esimerkkejä. Kuvio, "fe {1} d", vastaa aihe "Fed", jossa "e" etsitään tasan kerran. Kuvio, "fe {1,} d", vastaa aihe, "Fed" ja aihe, "rehuun", jossa "e" on sovitettu ainakin kerran. Kuvio, "fe {1,2} d", vastaa aihe, "Fed" ja aihe, "rehuun", jossa "e" on sovitettu ainakin kerran ja enintään 2 kertaa. Konstrukteja ei käytetä ainoastaan merkki; niitä voidaan myös käyttää atomin (pala kuvio). Joten, kuvio, "[BCD] {3} e" vastaa aihe, "abcde". Kuvio, "[BCD] {3,} e" vastaa aihe, "abcde".
Kuvio, "[BCD] {1,10} e" vastaa aihe, "abcde". Atomi on [BCD]. Nyt [BCD] tarkoittaa "b" tai "C" tai "d". Joten sub kuvio, "[BCD] {3)" tarkoittaa "BBB" tai "CCC" tai "ddd" tai "BCB" tai "CBC" tai "dcd" tai "BdB" tai "CDC" tai "dBd" . Osa kuvio [BCD] {3,} tarkoittaa yhdistelmää ainakin jokin niistä kolmesta merkistä. Sub kuvio, [BCD] {1,10}, tarkoittaa vähintään yhden merkin kolmesta merkistä, jopa yhdistelmä 10 merkkiä 3 characters.White Space Merkit Valkoinen välilyönti literaaleja ovat: "b", "t ',' N ',' v ',' f ', ja r.
Nimet näistä literaalien ovat vastaavasti backspace, välilehti, rivinvaihto, pystysuora-välilehti, syöttöpainike ja kuljetus-paluu. Voit käyttää tyhjätilamerkit merkki literaalien, suoraan rakenteessa. Oletetaan, että sinulla oli seuraava rivi lisätään taulukkoon: | Lion | Peter | finsh | f | 2008-12-09 | NULL | Solu lajeja on arvo, "finsh", kanssa Rivinvaihtomerkkiä, 'n'. Seuraavat SELECT palaa rivi, yhteensovitus aihe, "finsh". SELECT * lemmikkieläimistä jossa lajeista rLike "finsh"; Kuvio on, "finsh".
Voit myös käyttää nimeä valkoinen välilyönti, mutta tässä tapauksessa sinun täytyy asettaa se merkki, [[.name.]]. Seuraavat SELECT palauttaa lisätty rivi, yhteensovitus aihe, "finsh". SELECT * lemmikkieläimistä jossa lajeista rLike "fi [[. Newline.]] SH"; Kuvio on, "fi [[. Newline.]] SH". Voit käyttää kirjaimellinen on merkki. Seuraavat SELECT palauttaa lisätty rivi, yhteensovitus aihe, "finsh". SELECT * lemmikkieläimistä jossa lajeista rLike "fi [[. N.]] SH"; Kuvio on, "fi [[. N.]] SH" merkki on kaksi paria vastakkaista hakasulkeilla ja kaksi dots.
The MySQL Säännölliset lausekkeet metamerkit metamerkki on merkki ohjata tai määrittää muita merkkejä. Kun kyseessä on kuvioita, MySQL Säännölliset lausekkeet metamerkit ovat: ^ $. * +? | * {} []: =>