The PHP Online Conference 2021


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

mb_ereg_matchExpression rationnelle POSIX pour les chaînes multi-octets


mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] ) : 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.



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

4 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.
12 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
1 year 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