PHP:第六章——正则表达式的基本概念

时间:2022-04-14 05:54:06
<?php
header("Content-Type:text/html;charset=utf-8");
//正则表达式的基本概念:
//宽松匹配和严格匹配: //常见的匹配模式: //模式一:/p/ 功能:匹配任何包含字符p的字符串。 //模式二:/php/ 功能:匹配任何包含php的字符串。 //模式三:/[0-9]/ 功能:匹配包含0-9中十个数字中的任何一个数字的字符串。 //模式四:/^[0-9]$/ 功能:匹配包含0-9中的任何一个数字的字符串。只能是一个不能是多个。 //模式五:/^[0-9]{11}$/ 功能:匹配11位的手机号码。{}中的内容是量词,表示必须出现的次数。 //模式六:/^[0-9]{2,5}$/功能:匹配2到5个数字。{}中的内容限制了出现的次数。 //preg_match()函数精讲:匹配成功返回1,匹配失败返回0
/*
参数:
参数一: $Pattern (必须的参数) 要匹配的模式。
参数二: $str (必须的参数) 输入要匹配的字符串。
参数三: $matches (可选的) 如果匹配成功把匹配结果放入到参数三指定的数组中。
参数四: $flags (可选的) 返回匹配发生在字符串的第几位
这个参数如果不为空只能是 PREG_OFFSET_CAPTURE 这个常量或这个常量的值 256
参数五: $offset (可选的) 匹配从字符串的第几位开始,默认是0.
*/ //例:
/*$ptn="/P/";
$str="myPHP";
echo preg_match($ptn,$str,$arr,PREG_OFFSET_CAPTURE,3); //输出1。
print_r($arr);*/
//输出:Array ( [0] => Array ( [0] => P [1] => 4 ) ) ;数组中的4表示在下标4的位置上找到的。
//第五个参数3表示,从下标为3的位置开始查找。 //例:
$str="精讲PHP";
$ptn="/^[\\x7f-\\xff]+$/";
if(preg_match($ptn,$str)){
echo "\"$str\":是中文";
}else{
echo "\"$str\":不全是中文";
} ?>