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

phppreg_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<?php
  $res = preg_match('/\d+/', 'abc123');
  echo $res;
?>

Resultat av kodkörning:

php1

Exempel

Låt oss extrahera alla siffror från en sträng till en array:

php<?php
  preg_match('/\d+/', 'abc123', $matches);
  var_dump($matches);
?>

Resultat av kodkörning:

php[0 => '123']

Exempel

Användning av namngivna grupper i reguljära uttryck:

php<?php
  preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
  var_dump($matches);
?>

Resultat av kodkörning:

php[
  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<?php
  preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
  var_dump($matches);
?>

Resultat av kodkörning:

php[
  0 => [
    0 => '123',
    1 => 3
  ]
]

Exempel

Sökning med angivet offset:

php<?php
  preg_match('/\d+/', '123abc456', $matches, 0, 3);
  var_dump($matches);
?>

Resultat av kodkörning:

php[0 => '456']

Exempel

Kontroll av giltig e-postadress:

php<?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:

php'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