(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match — 执行匹配正则表达式

说明


preg_match(
    string ​​$pattern​​,
    string ​​$subject​​,
    array ​​&$matches​​ = ​null​​,
    int ​​$flags​​ = 0,
    int ​​$offset​​ = 0
): int|false


搜索subject与pattern给定的正则表达式的一个匹配.


参数

pattern

要搜索的模式,字符串类型。

subject

输入字符串。

matches

如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

flags

flags 可以被设置为以下标记值的组合:

PREG_OFFSET_CAPTURE

如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的字节数)。 注意:这会改变填充到​​matches​​​参数的数组,使其每个元素成为一个由 第​​0​​​个元素是匹配到的字符串,第​​1​​​个元素是该匹配字符串 在目标字符串​​subject​​中的偏移量。

案例:

<?php
$str = "abcd1234";
$str_RE="/^[a-zA-Z]\w{5,17}$/";
$result=preg_match($str_RE,$str);
if($result){
echo "密码符合验证";
}else{
echo "密码不符合验证";
}
?>

结果:

preg_match用法_php