PHP 7.4.25 Released!


(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_matchExpression rationnelle POSIX pour les chaînes multi-octets


mb_ereg_match(string $pattern, string $string, ?string $options = null): bool

Exécute l'expression rationnelle POSIX pour les chaînes multi-octets.

Liste de paramètres


L'expression rationnelle.


La chaîne à évaluer.


L'option de recherche. Pour plus d'explications, consultez mb_regex_set_options().

Valeurs de retour

string retourne true si string vérifie l'expression rationnelle pattern, false sinon.


Version Description
8.0.0 options is nullable now.



L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Définit/Récupère l'encodage des caractères pour les expressions rationnelles multi-octets
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets

add a note add a note

User Contributed Notes 3 notes

5 years ago
The behaviour of mb_ereg_match to imply a ^ at the beginning of the pattern stands in stark contrast to the behaviour of mb_ereg where ^ is NOT implied.

Switching between those two routines (because the need to extract a subpattern changes) requires careful consideration when to compensate for this surprising inconsistence.
13 years ago
Note that this function matches a string from the beginning only (though not necessarily till the end):


= mb_ereg_match("a", "some apples"); // returns false
$test = mb_ereg_match("a", "a kiwi");      // returns true


If you want to check for a match anywhere in the string, use the wild-card & repeat operators .*


= mb_ereg_match(".*a", "some apples"); // returns true

webdesign at innato dot nl
2 years ago
It took me a while to discover that you must escape characters like parentheses (), square brackets [] and ^ (and maybe more) if you want to match these as a literal. Otherwise you may get some erratic outcome.

In summary, using a match anywhere in the string as an example:

= "[";
$haystack = "some_array[]";
$test= mb_ereg_match(".*".$needle, $haystack);   // returns false and a php warning

$test= mb_ereg_match('.*'.preg_quote($needle), $haystack);   // returns true
To Top