De preg_match() functie is een ingebouwde functie van PHP die een reguliere expressiematch uitvoert. Deze functie doorzoekt de tekenreeks op patroon en retourneert waar als het patroon bestaat, anders wordt onwaar geretourneerd.
Over het algemeen begint het zoeken vanaf het begin van de tekenreeksparameter $subject. De optionele parameter $offset wordt gebruikt om het zoeken vanaf de opgegeven positie te starten.
Syntaxis
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Opmerking: $offset is een optionele parameter die de positie specificeert waar de zoekopdracht moet beginnen.
Parameters
Deze functie accepteert vijf parameters, die hieronder worden beschreven:
patroon
Het is een parameter van het stringtype. Deze parameter bevat het patroon waarnaar moet worden gezocht als een tekenreeks.
onderwerp
Deze parameter bevat de invoertekenreeks waarin we naar patroon zoeken.
wedstrijden
Als de parameter Matches wordt opgegeven, bevat deze de zoekresultaten.
wedstrijden[0] - Het bevat de tekst, die overeenkomt met het volledige patroon.
wedstrijden[1] - Het bevat de tekst die overeenkomt met het eerste vastgelegde subpatroon tussen haakjes, enzovoort.
vlaggen
object van array in Java
De vlaggen kunnen de volgende vlaggen hebben, hieronder weergegeven:
gecompenseerd
Standaard begint de zoekopdracht vanaf het begin van de parameter $subject. De offsetparameter wordt gebruikt om de plaats op te geven waar het zoeken zal beginnen. Het is een optionele parameter.
Retourtype
De functie preg_match() retourneert true als het patroon anders overeenkomt, en retourneert false.
Opmerking: als u alleen wilt controleren of een tekenreeks in een andere tekenreeks voorkomt, gebruik dan de functie preg_match() niet. Gebruik de functie strpos() omdat deze sneller zal zijn.
Voorbeelden
<?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); ?>
Uitgang:
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 ) )
We kunnen de bovenstaande uitvoer zien zoals hieronder weergegeven om deze beter te begrijpen.
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 ) )
Voorbeelden: hoofdletterongevoelig zoeken
<?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.'; } ?>
Uitgang:
Pattern matched in string. Array ( [0] => JTP )
Voorbeelden: door gebruik te maken van woordgrens ()
<?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.'; } ?>
Uitgang:
A match was found. A match was not found.
Voorbeelden: haal de domeinnaam uit de URL
Uitgang:
C#-codevoorbeelden
Domain name is: javatpoint.com
Regex-syntaxis (reguliere expressie).
[abc] | Komt overeen met één teken: a, b of c |
[^abc] | Komt overeen met elk afzonderlijk teken behalve a, b of c |
[a-z] | Komt overeen met elk afzonderlijk teken binnen het bereik a-z |
[a-zA-Z] | Elk afzonderlijk teken binnen het bereik a-z of A-Z |
^ | Begin van de lijn |
$ | Einde van de lijn |
A | Begin van de reeks |
Met | Einde van de reeks |
. | Elk enkel karakter |
S | Elk witruimteteken |
S | Elk teken dat geen witruimte bevat |
D | Elk cijfer |
D | Elk niet-cijfer |
In | Elk woordteken (letter, cijfer, onderstrepingsteken) |
IN | Elk niet-woord-teken |
B | Woordgrenscontrole |
/?/ | Start en beëindigt de reguliere expressie |
(?) | Leg alles tussen haakjes vast () |
(a|b) | een of b |
A? | Nul of één van a |
A* | Nul of meer van a |
een+ | Eén of meer van een |
een{3} | Precies 3 van een |
een{3,} | 3 of meer van een |
een{3,6} | Tussen 3 en 6 van a |
i | Hoofdletterongevoelige controle |
M | Maak puntmatch-nieuwe regels |
X | Negeer witruimte in regex |