English | 简体中文 | 繁體中文
查询

mb_ereg()函数—用法及示例

「 执行多字节正则表达式匹配 」


函数名称:mb_ereg() 

函数描述:mb_ereg() 函数用于执行多字节正则表达式匹配。

用法: mb_ereg(string $pattern, string $string [, array &$regs])

参数:

  • $pattern:要匹配的正则表达式模式。
  • $string:要在其中搜索模式的字符串。
  • $regs(可选):一个包含匹配结果的数组。如果提供了该参数,则函数将把匹配结果存储在该数组中。

返回值: 如果匹配成功,该函数返回 true,否则返回 false。

示例:

// 在字符串中搜索匹配的正则表达式
$string = "Hello, 你好!";
$pattern = "你好";
if (mb_ereg($pattern, $string)) {
    echo "匹配成功";
} else {
    echo "匹配失败";
}

// 使用数组存储匹配结果
$string = "Hello, 你好!";
$pattern = "([A-Za-z]+),\s+(\p{Han}+)";
$regs = array();
if (mb_ereg($pattern, $string, $regs)) {
    echo "匹配成功";
    echo "完整匹配结果:" . $regs[0] . PHP_EOL;
    echo "第一个括号内的匹配结果:" . $regs[1] . PHP_EOL;
    echo "第二个括号内的匹配结果:" . $regs[2] . PHP_EOL;
} else {
    echo "匹配失败";
}

注意事项:

  • mb_ereg() 函数是多字节字符安全的,可以处理包含多字节字符的字符串。
  • 该函数的行为受到 mb_regex_encoding() 函数设置的当前正则表达式编码影响。
  • 使用 mb_ereg() 函数之前,需要确保已经通过 mb_regex_encoding() 函数设置了正确的正则表达式编码。
  • 如果要执行不区分大小写的匹配,可以在模式字符串中使用 "i" 修饰符,如 "/pattern/i"。
  • 如果要执行全局匹配,可以在模式字符串中使用 "g" 修饰符,如 "/pattern/g"。
  • 如果要执行多行匹配,可以在模式字符串中使用 "m" 修饰符,如 "/pattern/m"。
  • 为了提高性能,可以使用 mb_ereg_match() 函数来执行单次匹配而不返回匹配结果数组。
  • 为了更好地理解和使用该函数,建议参考 PHP 官方文档中关于 mb_ereg() 函数的详细说明和示例。
补充纠错
上一个函数: mb_eregi()函数
下一个函数: mb_encoding_aliases()函数
热门PHP函数
分享链接