<ol><li>PHP中使用preg_match、preg_match_all、preg_replace等函数实现正则操作;2. 正则由普通字符和元字符组成,常用元字符包括. ^ $ <em> + ? \d \w [] ();3. 常见应用:验证手机号/^1[3-9]\d{9}$/、邮箱/^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)$/、密码强度/^(?=.<em>[a-z])(?=.</em>[A-Z])(?=.<em>\d).{8,}$/;4. preg_match匹配首个结果,preg_match_all获取所有匹配,preg_replace替换内容,preg_split分割字符串;5. 示例:提取URL域名用preg_match('/https?://(1+)//', $url, $matches),过滤HTML标签用preg_replace('/<2>/is', '', $text)。</li></ol>/ ↩> ↩

PHP中使用正则表达式主要通过preg_系列函数实现,比如 preg_match、preg_match_all、preg_replace 等。掌握基本语法和常见模式,就能高效完成字符串匹配、验证和替换任务。
正则表达式是由普通字符和元字符组成的模式字符串,用于描述搜索规则。在PHP中,正则通常用分隔符包裹,如/pattern/或#pattern#。
. 匹配任意单个字符(换行符除外)^ 匹配字符串开头$ 匹配字符串结尾* 前一个字符出现0次或多次+ 前一个字符出现1次或多次? 前一个字符出现0次或1次\d 匹配数字,等价于[0-9]\w 匹配字母、数字、下划线[] 字符组,匹配其中任意一个字符() 分组,提取子匹配内容实际开发中,正则常用于表单数据验证。以下是几个典型例子:
1. 验证手机号(中国大陆)大陆手机号通常是1开头,共11位数字。
立即学习“PHP免费学习笔记(深入)”;
$phone = "13812345678";
if (preg_match('/^1[3-9]\d{9}$/', $phone)) {
echo "手机号格式正确";
} else {
echo "手机号格式错误";
}基本邮箱格式:用户名@域名.后缀
$email = "user@example.com";
if (preg_match('/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', $email)) {
echo "邮箱格式正确";
} else {
echo "邮箱格式不合法";
}要求:至少8位,包含大小写字母和数字
$password = "Abc12345";
if (preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/', $password)) {
echo "密码符合安全要求";
} else {
echo "密码需至少8位,含大小写和数字";
}从完整链接中提取主域名部分
$url = "https://www.example.com/path?query=1";
preg_match('/https?:\/\/([^\/]+)\//', $url, $matches);
if (!empty($matches[1])) {
echo "域名是:" . $matches[1];
}PHP处理正则的核心函数:
例如使用preg_replace过滤非法字符:
$text = "Hello <script>alert(1)</script>";
$safe = preg_replace('/<script.*?script>/is', '', $text);
echo $safe; // 输出 Hello
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号