⊗ppPmRgOC 241 of 447 menu

PHP:n säännöllisten lausekkeiden 'tai'-komento

Tässä oppitunnissa käsittelemme komentoa |, joka edustaa tehokkaampaa TAI-versiota verrattuna komentoon []. Tämä komento mahdollistaa säännöllisen lausekkeen jakamisen useaan osaan. Samalla etsittävä voi osua joko yhteen säännöllisen lausekkeen osaan tai toiseen. Katsotaan esimerkkien avulla.

Esimerkki

Tässä esimerkissä hakumalli on seuraava: kolme kirjainta 'a' tai kolme kirjainta 'b':

<?php $str = 'aaa bbb abb'; $res = preg_replace('#a{3}|b{3}#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! abb'

Esimerkki

Tässä esimerkissä hakumalli on seuraava: kolme kirjainta 'a' tai 1 tai enemmän kirjainta 'b':

<?php $str = 'aaa bbb bbbb bbbbb axx'; $res = preg_replace('#a{3}|b+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! ! axx'

Esimerkki

Tässä esimerkissä hakumalli on seuraava: yksi tai useampi kirjain tai kolme numeroa:

<?php $str = 'a ab abc 1 12 123'; $res = preg_replace('#[a-z]+|\d{3}#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! 1 12 !'

Esimerkki

Pystyviiva voi jakaa säännöllisen lausekkeen ei kahteen osaan, vaan mihin tahansa määrään osia:

<?php $str = 'aaa bbb ccc ddd'; $res = preg_replace('#a+|b+|c+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! ddd'

Esimerkki

Jos pystyviiva on pyöreiden sulkeiden sisällä, niin 'tai' toimii vain näiden sulkeiden sisällä. Esimerkkinä etsitään merkkijonoja seuraavan mallin mukaisesti: alussa on joko 'a' tai 'b' yksi tai useampi kerta, ja sitten kaksi kirjainta 'x':

<?php $str = 'axx bxx bbxx exx'; $res = preg_replace('#(a|b+)xx#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! exx'

Käytännön tehtävät

Annettu merkkijono:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Kirjoita säännöllinen lauseke, joka löytää merkkijonot seuraavan mallin mukaisesti: reunoissa on kirjaimet 'a', ja niiden välissä - joko kirjain 'e' mikä tahansa määrä kertoja tai kirjain 'x' mikä tahansa määrä kertoja.

Annettu merkkijono:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Kirjoita säännöllinen lauseke, joka löytää merkkijonot seuraavan mallin mukaisesti: reunoissa on kirjaimet 'a', ja niiden välissä - joko kirjain 'e' kaksi kertaa tai kirjain 'x' mikä tahansa määrä kertoja.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää