欢迎访问宙启技术站
智能推送

PHP中的preg_match()函数的用法和示例

发布时间:2023-06-13 19:05:25

preg_match() 函数在 PHP 中用于执行正则表达式匹配,返回是否有文本与给定的模式匹配。

使用方式:

preg_match(pattern,subject,matches);

其中,参数 pattern 是用于匹配的正则表达式模式,subject 是需要匹配的文本字符串,matches 是一个可选变量,用于获取匹配后的结果。

返回值:

如果匹配成功,返回 1,否则返回 0。如果出错,返回 FALSE。

示例1:

判断一个字符串是否是 URL 格式

$url = "https://www.google.com";

$pattern = "/^http[s]?:\/\/[\w.]+[\.\w]+[\/\w]*$/"; // 匹配 URL 格式

if (preg_match($pattern, $url, $matches)) {

    echo "是正确的 URL 格式";

} else {

    echo "不是正确的 URL 格式";

}

示例2:

判断一个字符串中是否包含数字

$str = "have a 123 great day!";

$pattern = "/\d+/"; // 匹配一个或多个数字

if (preg_match($pattern, $str, $matches)) {

    echo "字符串中包含数字";

} else {

    echo "字符串中不包含数字";

}

示例3:

从一组字符串中匹配出所有的邮件地址

$str = "example1@gmail.com example2@yahoo.com example3@hotmail.com";

$pattern = "/([\w-]+)(\.[\w-]+)*@([\w-]+\.)+[\w-]+/i"; // 匹配邮件地址格式

if (preg_match_all($pattern, $str, $matches)) {

    echo " 匹配到所有的邮件地址:

";

    print_r($matches[0]); //打印匹配结果

} else {

    echo "没有匹配到任何邮件地址";

}

需要注意的是,正则表达式的语法和模式也需要注意,否则也可能导致匹配失败或者异常情况。