PHP 中使用正则表达式可以使用内置函数 preg_match()、preg_replace() 等。
其中,preg_match() 可以用来检查一个字符串是否符合指定的模式,preg_replace() 可以用来替换匹配到的字符串。
preg_match() 的语法如下:
preg_match(pattern, subject [, matches [, flags]])
其中,参数解释如下:
- pattern:正则表达式。
- subject:输入字符串。
- matches:可选参数,保存匹配到的值。
- flags:可选参数,用于控制正则表达式的匹配方式。
preg_replace() 的语法如下:
preg_replace(pattern, replacement, subject [, limit [, count]])
其中,参数解释如下:
- pattern:正则表达式。
- replacement:用来替换匹配到的字符串。
- subject:输入字符串。
- limit:可选参数,用于指定最多替换多少次。默认为 -1,即没有限制。
- count:可选参数,用于保存替换次数。
以下是一个示例,用于匹配一个邮箱地址:
$email = "example@test.com";
$pattern = "/[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,}/i"; // 正则表达式
if (preg_match($pattern, $email)) {
echo "邮箱地址合法";
} else {
echo "邮箱地址不合法";
}
正则表达式中的
表示单词边界,[A-Z0-9._%+-]+
表示匹配一段字符,[A-Z0-9.-]+.[A-Z]{2,}
表示匹配邮箱域名。/i
表示忽略大小写。