欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP学习之路六(php与正则表达式)_PHP教程

程序员文章站 2022-05-24 10:29:48
...
[php]


正则表达式和样式匹配


$find="love";//定义要查找的变量
$result=preg_match("/$find/","I love you,xiaohei!");//第一个参数为要查找
//变量,第二个参数为查找字符串
//查找 前后带空格的"you",返回false
@$result1=preg_match("\byou\b/","I love you,xiaohei!");
if ($result){
echo "匹配成功!
";
}else {
echo "匹配失败!
";
}
if ($result1){
echo "\byou\b/"."匹配成功!
";
}else {
echo "\byou\b/"."匹配失败!
";
}

?>

/* ^元字符被称为行首端位。。匹配字符串起始找到的样式。
* 判断获奖名单("李兴乐 王长超 小黑")中是否有王长超,在判断,王长超,李兴乐是否为第一个
* */
$string="李兴乐 王长超 小黑";
$name1="王长超";
$name2="李兴乐";
if (ereg("王长超",$string)){//判断是否 有王长超
echo "有王长超!
";
}
if(ereg("^李兴乐",$string)){//判断行首是否为李兴乐
echo '李兴乐为第一个
';
}
if(ereg("^王长超",$string)){
echo "王长超为第一个
";
}
if(ereg("小黑$",$string)){ //判断行尾 是否为 小黑
echo "小黑为最后一个
";
}

?>
//邮箱格式判断
//元字符+ 用来匹配前面的子表达式 一次或多次..{2}表示匹配的次数喂两次。{2,4}重复 2-4次
$myemail="lixingle123@qq.com";
if (ereg("([0-9a-zA-Z]+)([@])([0-9a-zA-Z]+)([.])([0-9a-zA-Z]{2,4})",$myemail)){
echo $myemail."格式正确
";
}else {
echo $myemail."格式不正确,请重新输入!
";
}
?>
//匹配字符格式
//判断日期格式是否为 YYYY-MM-DD格式
$mydate="2012-11-26";
if (ereg("([0-9]{4})(-)([0-9]{2})(-)([0-9]{2})",$mydate,$regs)){
echo $regs[1]."年$regs[3]月$regs[5]日
";
}else {
echo "时间格式错误!
";
}




?>
/*PHP支持Perl样式的正则表达式,
* 样式匹配函数:
* int preg_match(string $pattern,string $subject[,array $matches[,int flages]]);
* int preg_match_all(string $pattern,string $subject[,array $matches[,int flages]]);
* preg_match()和preg_match_all()用法相似,但后者是匹配整个字符串,而不是执照第一个,并且返回找到的样式数量
*
* */

$string ="I am studing PHP,PHP is so easy.PHP";
$result=preg_match_all("/PHP/i",$string,$matches,PREG_OFFSET_CAPTURE);

if ($result==true){
echo "$result PHP was found.
";
print_r($matches);
echo "
";
}else {
echo "PHP was not found.
";
print_r($matches);
echo "
";
}
?>





www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477892.htmlTechArticle[php] html head title正则表达式和样式匹配/title /head body ?php $find=love;//定义要查找的变量 $result=preg_match(/$find/,I love you,xiaohei!);//第一个参数为要...