Funktionen preg_match
Funktionen preg_match söker efter matchningar med ett reguljärt uttryck i en sträng. Den tar ett mönster för det reguljära uttrycket som första parameter, strängen att söka i som andra parameter, en tredje (valfri) parameter för en array att spara hittade matchningar i, en fjärde (valfri) parameter för flaggor, och en femte (valfri) parameter för offset för sökstart.
Syntax
preg_match(pattern, subject, [matches], [flags], [offset]);
Flaggor
| Flagga | Konstant | Beskrivning |
|---|---|---|
PREG_PATTERN_ORDER |
1 | Resultat sorteras efter mönster (standard) |
PREG_SET_ORDER |
2 | Resultat sorteras efter matchningar |
PREG_OFFSET_CAPTURE |
256 | Returnerar positionen för matchningen i strängen |
PREG_UNMATCHED_AS_NULL |
512 | Omatchade delmönster returneras som NULL |
Exempel
Låt oss kontrollera om en sträng innehåller siffror:
<?php
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
Resultat av kodkörning:
1
Exempel
Låt oss extrahera alla siffror från en sträng till en array:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
Resultat av kodkörning:
[0 => '123']
Exempel
Användning av namngivna grupper i reguljära uttryck:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
Resultat av kodkörning:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
Exempel
Användning av flaggan PREG_OFFSET_CAPTURE för att få positionen för matchningen:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
Resultat av kodkörning:
[
0 => [
0 => '123',
1 => 3
]
]
Exempel
Sökning med angivet offset:
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
Resultat av kodkörning:
[0 => '456']
Exempel
Kontroll av giltig e-postadress:
<?php
$email = 'test@example.com';
$res = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email);
echo $res ? 'Valid' : 'Invalid';
?>
Resultat av kodkörning:
'Valid'
Se även
-
funktionen
preg_match_all,
som söker efter alla matchningar i en sträng -
funktionen
preg_replace,
som utför ersättning med reguljära uttryck