⊗ppPmRgChG 230 of 447 menu

Merkkiryhmät PHP:n säännöllisissä lausekkeissa

On olemassa erikoiskomentoja, joiden avulla voidaan valita välittömästi kokonaisia merkkiryhmiä. Komento \d tarkoittaa numeroa 0:sta 9:ään. Komento \w tarkoittaa numeroa, latinalaista kirjainta tai alaviivaa. Komento \s tarkoittaa välilyöntiä tai välilyöntimerkkiä: välilyönti, rivinvaihto, sarkain. Voit kääntää komennon merkityksen kirjoittamalla ison kirjaimen: esimerkiksi, jos \d on numero, niin \D on ei-numero.

Esimerkki

Etsitään kaikki numerot:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! !! !!!'

Esimerkki

Toistotoimittajat pitävät komento-ryhmiä yhtenäisenä, eli ryhmitteleviä sulkeita ei tarvita. Seuraavassa esimerkissä hakumalli näyttää tältä: numero 0:sta 9:ään yksi tai useampi kerta:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! abc @@@'

Esimerkki

Seuraavassa esimerkissä hakumalli näyttää tältä: mitä tahansa yksi tai useampi kerta, mutta ei numero 0:sta 9:ään:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'123!3!'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: välilyöntimerkki yhden kerran:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'1!12!123!abc!@@@'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: EI välilyöntimerkki yksi tai useampi kerta. Kaikki välilyönneillä erotetut osajonot korvataan merkillä '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! ! !'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: numero tai kirjain yksi tai useampi kerta. Kaikki numeroista ja kirjaimista koostuvat osajonot korvataan merkillä '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

Tuloksena muuttujaan kirjoitetaan seuraava:

'! ! ! ! @@@'

Esimerkki

Tässä esimerkissä hakumalli näyttää tältä: EI numero eikä kirjain yksi tai useampi kerta. Tähän määritelmään sopii tapauksessamme '@@@' ja kaikki välilyönnit (ne eivät nimittäin myöskään ole numeroita eivätkä kirjaimia). Kiinnitä huomiota siihen, että lopussa on yksi '!' - siihen muuttui merkkijono ' @@@' - jossa on välilyönti edessä:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

Tuloksena muuttujaan kirjoitetaan seuraava:

'1!12!123!Abc!'

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

Annettu merkkijono:

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on yksi numero.

Annettu merkkijono:

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on mikä tahansa määrä numeroita.

Annettu merkkijono:

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

Kirjoita säännöllinen lauseke, joka löytää merkkijonot, joissa reunoissa on kirjaimet 'a', ja niiden välissä on mikä tahansa määrä numeroita (mukaan lukien nolla numeroa, eli merkkijono 'aa').

Annettu merkkijono:

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

Kirjoita säännöllinen lauseke, joka löytää seuraavanlaiset merkkijonot: reunoissa on kirjaimet 'a' ja 'b', ja niiden välissä - ei numero.

Annettu merkkijono:

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

Kirjoita säännöllinen lauseke, joka löytää seuraavanlaiset merkkijonot: reunoissa on kirjaimet 'a' ja 'b', ja niiden välissä - ei kirjain eikä numero.

Annettu merkkijono:

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

Kirjoita säännöllinen lauseke, joka korvaa kaikki välilyönnit merkillä '!'.

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ää