*   >> lukeminen koulutus Artikkelit >> tech >> web development

Regex määritteet Php

Regex Modifiers PHP PHP säännöllisiä lausekkeita - Osa V Johdanto Matching on isot ja pienet kirjaimet. Et voi tietää, jos mitä etsit on pienet kirjaimet tai isot kirjaimet tai on sekoitettu tapauksia. On mahdollista, voit tehdä asiassa tunteeton ottelussa. Tarvitset mitä kutsutaan muokkaaja tähän. On hyvä määrä määritteet ja jokaisella on oma tarkoituksensa. Meillä on oppia joitakin niistä tässä osassa sarjassa. I muokkaaja Oletuksena haku on isot ja pienet kirjaimet. Jotta se tapauksessa tunteeton, sinun täytyy käyttää ns i muuntaja.

Joten jos meillä on regex, /lähettää /ja sitten meillä on myös $ aihe = "klikkaa lähetä-painiketta." seuraava koodi ei tuota ottelu: $ aihe = "klikkaa lähetä-painiketta."; $ Aihe = "klikkaa lähetä-painiketta."; jos (preg_match ("/lähettää /", $ aihe)) echo "Hyväksytty". "Muu echo" ei vastaa "."?> Regex ei vastannut aihetta merkkijonoa koska regex on "Lähetä", jossa S on pienillä kirjaimilla, mutta aihe merkkijono on "Lähetä", jossa S on isolla. Jos haluat tämän matching olla asiassa tunteeton, niin teidän regex on oltava /lähettää /i Ohje i just jälkeen toisen kauttaviivaa. Se on i muuntaja.

Seuraava koodi tuottaa ottelussa. $ Aihe = "klikkaa lähetä-painiketta."; jos (preg_match ("/Lähetä /i", $ aihe)) echo "Hyväksytty". "Muu echo" ei vastaa "."?> Yhteensopivia on seurausta olemme tehneet regex tapauksessa tunteeton, jossa i muuntaja. Global Vastaavat On mahdollista, että sinulla on enemmän kuin yksi osa merkkijono aihe merkkijonon, joka vastaisi regex. Oletuksena vain ensimmäinen osa merkkijono aihe on sovitettu. Vastaamaan kaikki osa jouset aihe, sinun täytyy käyttää toimintoa preg_match_all ().

Tämä on syntaksi: int preg_match_all (merkkijono $ kuvio, string $ aihe, array & $ ottelunsa [, int $ liput]) ensimmäinen argumentti on regex. Toinen on aihe. Kolmas on joukko, joka omistaa kaikki ottelut. Se on kaksiulotteinen matriisi, tässä (Jotta preg_match () funktio on yksiulotteinen). Neljäs väite on valinnainen. Me puhua vain yksi lippu tätä väitettä. Mieti seuraavia aihe merkkijono: $ aihe = "kissa on eläin. Rotta on eläin. Bat on olento."; Vuonna edellä mainittua asiaa, olet osa jouset: kissa, rotta ja lepakko. Sinulla on kissa ensin, sitten rotta ja sitten lepakko.

Kukin näistä osa jouset vastaavat seuraavat regex: /[CBR] at /Tämä malli täsmää vain ensimmäinen osa merkkijonon, "kissa". Jos haluat "kissa" ja "rotta" ja "bat" sovitettava, sinun on käytettävä preg_match_all () toimivat seuraava koodi havainnollistaa: $ aihe = "kissa on eläin. Rotta on eläin. bat on olento. "; jos (preg_match_all ("/[CBR] at /", $ aihe, $ ottelut, PREG_PATTERN_ORDER)) echo "Hyväksytty". "Muu echo" ei vastaa "." Echo "echo $ ottelunsa [0] [0]." Echo $ ottelunsa [0] [1]. "Echo $ ottelunsa [0] [2]."?> Viimeinen argumentti preg_match_all () funktio on lippu.

Palaamme siihen pian. Ensimmäinen, toinen ja kolmas elementit ensimmäisen joukko kaksiulotteinen matriisi ovat "kissa", "rotta" ja "bat". Niin lähtö edellä koodi on: Hyväksytty kissa rotta bat nyt kaksiulotteinen matriisi tarjoaa kaksi taulukot koodi. Ensimmäinen joukko vastaanottaa osa jouset Hyväksytty, siinä järjestyksessä, jossa osa jouset nähtiin aihe. Tämä on maailmanlaajuinen matching.

PREG_PATTERN_ORDER lippu Tällä lippu, tulokset ovat sellaisia, että $ ottelunsa [0] on joukko koko kaavaan löytyy, $ ottelut [1] on joukko merkkijonojen Hyväksytty ensimmäisen suluissa subpattern, ja niin edelleen. S ja m muuntimet s muokkaaja viittaa riviäkään ja m muokkaaja viittaa useita rivejä merkkijono. Yleensä ilman näitä määritteet, saamme mitä haluamme. Joskus kuitenkin, haluamme seurata \\ n merkkiä. Tiedosto kiintolevylle voisi koostua monista riviä tekstiä kunkin päättyen \\ n merkki. Oletuksena ^ ja $ merkkiä ankkuri alussa ja lopussa aihe merkkijono.

Voimme tehdä niistä ankkuri alussa ja lopussa linjat. N ja m muuntimet vaikuttaa tulkintaan ^, $ ja piste metahcaracter. Tässä on täydellinen kuvaus n ja m muuntimet * ei määritteet: Täällä me tarkastelemme tapausta, jossa ei ole muokkaaja heti toisen kauttaviivaa. Näissä olosuhteissa "." vastaa mitä tahansa merkkiä paitsi "\\ n". ^ Vastaa vain alussa merkkijonon ja $ vastaa vain aihe merkkijonon loppuun tai ennen \\ n lopussa. Tämä on oletusarvo käyttäytymistä piste metamerkkiä.

* S muokkaaja: Tämä tekee aihe merkkijono käyttäytyy kuin pitkän linjan riippumaton Rivinvaihtomerkkiä jotka voivat olla siellä. Niin '.' vastaa kaikkia merkkejä, vaikka "\\ n". ^ Vastaa vain alussa merkkijonon ja $ vastaa vain lopussa aihe merkkijono tai ennen \\ n. * M muokkaaja: Tämä tekee aihe merkkijono käyttäytyy kuin joukko useita rivejä. Aihe merkkijono, peräkkäisiä rivejä erotetaan \\ n merkki. Niin '.' vastaa mitä tahansa merkkiä paitsi "\\ n". Näin ^ ja $ pystyvät vastaamaan alussa tai lopussa kaikilla rataosuuksilla sisällä aihe merkkijono.

Täällä ^ vastaa alussa merkkijonon tai heti sen jälkeen \\ n merkki, kun taas $ vastaa juuri ennen \\ n merkki. Käytämme esimerkkien avulla edellä mainitut kolme olosuhteissa. Aloitamme tarkastelemalla ensimmäinen ehto. Ei Modifier Lue ensimmäinen kohta edellä uudelleen. Mieti seuraavia moniriviseen aihe merkkijono: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; Aihe merkkijono on kolme riviä. Seuraava lauseke tuottaa ottelussa. preg_match ("/sekunti /", $ aihe) osa merkkijonon "toinen", toisella rivillä (virke) on sovitettu. Mieti seuraavia kuvio: /^.

*$/Tämä malli (regex) odotetaan normaaleissa olosuhteissa, vastaamaan koko merkkijono. Katsokaamme jos se tekee niin edellä multi-line aihe merkkijono. Harkitse seuraava koodi: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; jos (preg_match ("/^.*$/", $ aihe)) echo "Hyväksytty". "Muu echo" ei vastaa "."?> Jos suoritat tämän koodin, ei vastaavia tapahtuu. Tämä johtuu läsnäolo \\ n merkin aihe merkkijono. Oletuksena piste luokka ei vastaa \\ n merkki. Toivottavasti nyt arvostaa mitä ensimmäinen kohta edellä puhuu. s muokkaaja Lue toinen piste edellä uudelleen.

Teemme samanlainen asia, että teimme ennen. Mieti seuraavia aihe merkkijono: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; Aihe merkkijono on kolme riviä. Seuraava lauseke tuottaa ottelussa. preg_match ("/toinen /s", $ subject) Huomaa, että n modifiointiaine on käytetty. Sub merkkijono "toinen", toisella rivillä (virke) on sovitettu. Mieti seuraavia kuvio: /^.*$/s Tämä malli (regex) on tarkoitus sovittaa koko merkkijono. Katsokaamme jos se tekee niin edellä multi-line aihe merkkijono. Harkitse seuraava koodi: $ aihe = "ensimmäinen virke. \\ N toinen virke.

\\ N kolmannen virkkeen. \\ N"; jos (preg_match ("/^.*$/s", $ aihe)) echo "Hyväksytty". "Muu echo" ei vastaa "."?> Ottelu tuotetaan. Tämä johtuu siitä, kanssa n modifioija, piste (luokka) vastaa Rivinvaihtomerkkiä. Toivottavasti nyt arvostaa mitä toisen pisteen edellä puhuu. M Modifier Lue Kolmas kohta edellä uudelleen. Täällä me tarkastelemme vaikutus m muuntaja. Mieti seuraavia aihe merkkijono: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; Aihe merkkijono on kolme riviä. Seuraava lauseke tuottaa ottelussa.

preg_match ("/toinen /m", $ subject) Huomaa, että m modifiointiaine on käytetty. Sub merkkijono "toinen", toisella rivillä on sovitettu. Mieti seuraavia kuvio: /(^.*$)/m m-modifier, tämä malli (regex) tulee vastata vain yksi rivi. Katsokaamme jos se tekee niin edellä multi-line aihe merkkijono. Harkitse seuraava koodi: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; jos (preg_match ("/^.*$/m", $ aihe)) echo "Hyväksytty". "Muu echo" ei vastaa "."?> Vain ensimmäinen virke sovitettu. Joten se sopi ensimmäisellä rivillä.

Voit sovittaa ja tallentaa kaikki kolme lauseet kolme riviä. Laitat kuvio suluissa (ala ryhmä). Käytät PHP regex funktio, preg_match_all () sijasta preg_match (). Voit myös käyttää lippua PREG_PATTERN_ORDER. Array sisältävä jää osa jousille on kaksiulotteinen array. Siinä on kaksi taulukot. Seuraava koodi kuvaa tätä: $ aihe = "ensimmäinen virke. \\ N toinen virke. \\ N kolmannen virkkeen. \\ N"; jos (preg_match_all ("/(^.*$)/m", $ aihe, $ ottelut, PREG_PATTERN_ORDER)) echo "Hyväksytty". "Muu echo" ei vastaa "." Echo "echo $ ottelunsa [0] [0]." Echo $ ottelunsa [0] [1].

"Echo $ ottelunsa [0] [2]." Echo "echo $ ottelunsa [1] [0]." Echo $ ottelunsa [1] [1]. "Echo $ ottelunsa [1] [2]."?>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.