Preg_match()-funksjonen er en innebygd funksjon i PHP som utfører et regulært uttrykk. Denne funksjonen søker etter mønster i strengen, og returnerer true hvis mønsteret eksisterer ellers returnerer false.
Vanligvis starter søket fra begynnelsen av $subject-strengparameteren. Den valgfrie parameteren $offset brukes til å starte søket fra den angitte posisjonen.
Syntaks
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Merk: $offset er en valgfri parameter som spesifiserer posisjonen hvorfra søket skal begynne.
Parametere
Denne funksjonen godtar fem parametere, som er beskrevet nedenfor:
mønster
Det er en strengtypeparameter. Denne parameteren holder mønsteret for å søke som en streng.
Emne
Denne parameteren inneholder inndatastrengen der vi søker etter mønster.
fyrstikker
Hvis samsvarende parameter er oppgitt, vil den inneholde søkeresultatene.
kamper[0] - Den vil holde teksten, som samsvarte med hele mønsteret.
kamper[1] - Den vil inneholde teksten, som samsvarte med det første fangede undermønsteret i parentes, og så videre.
flagg
filmer123 til
Flaggene kan ha følgende flagg gitt nedenfor:
offset
Som standard starter søket fra begynnelsen av $subject-parameteren. Offset-parameteren brukes til å spesifisere stedet hvor søket skal starte. Det er en valgfri parameter.
Returtype
Preg_match()-funksjonen returnerer true hvis mønsteret samsvarer ellers, returnerer den usann.
Merk: Hvis du bare vil sjekke om en streng er inneholdt i en annen streng, ikke bruk preg_match() funksjonen. Bruk strpos()-funksjonen da den vil være raskere.
Eksempler
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Produksjon:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Vi kan se utgangen ovenfor som gitt nedenfor for å forstå den bedre.
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Eksempler: søk uten store og små bokstaver
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Produksjon:
Pattern matched in string. Array ( [0] => JTP )
Eksempler: ved å bruke ordgrense ()
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Produksjon:
A match was found. A match was not found.
Eksempler: få domenenavnet ut fra URL-en
Produksjon:
setter i java
Domain name is: javatpoint.com
Regex (regulært uttrykk) syntaks
[abc] | Matcher et enkelt tegn - a, b eller c |
[^abc] | Matcher ethvert enkelt tegn bortsett fra a, b eller c |
[a-z] | Matcher ethvert enkelt tegn innenfor området a-z |
[a-zA-Z] | Ethvert enkelt tegn innenfor området a-z eller A-Z |
^ | Start av linjen |
$ | Slutt på linjen |
EN | Start av streng |
Med | Slutt på streng |
. | Ethvert enkelt tegn |
s | Ethvert mellomromstegn |
S | Alle tegn som ikke er mellomrom |
d | Hvilket som helst siffer |
D | Alle ikke-siffer |
I | Et hvilket som helst ordtegn (bokstav, tall, understrek) |
I | Ethvert ikke-ord-tegn |
Ordgrensekontroll | |
/?/ | Starter og avslutter det regulære uttrykket |
(?) | Fang opp alt i parentes () |
(a|b) | a eller b |
en? | Null eller en av en |
en* | Null eller mer av en |
a+ | En eller flere av en |
en{3} | Nøyaktig 3 av en |
en{3,} | 3 eller flere av en |
a{3,6} | Mellom 3 og 6 av en |
Jeg | Uavhengig av store og små bokstaver sjekk |
m | Få prikk til å matche nye linjer |
x | Ignorer mellomrom i regulært uttrykk |