首页 孤独与我正文

PHP正则表达式

限时免费加入本站QQ群994819852

preg_match()

preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。

preg_match() 匹配成功一次后就会停止匹配。

语法:

preg_match (pattern , subject, matches)
参数
描述
pattern 正则表达式
subject 需要匹配检索的对象
matches 可选,存储匹配结果的数组

实例:

此实例匹配大写字母后面带有.和空格的字符串,只能匹配到J. ,因为preg_match() 匹配成功一次后就会停止匹配,后面不会再匹配了。

<?php
$str="Daniel J. Gross Catholic High School A. is a faith and family based community committed to developing Christian leaders through educational excellence in the Marianist tradition.";
if(preg_match("/[A-Z]. /",$str,$matches)){
    print_r($matches);
}?>

preg_match_all()

preg_match_all() 函数用于执行一个全局正则表达式匹配.

preg_match_all() 将实现全部结果的匹配。

语法:

preg_match_all (pattern , subject, matches)
参数
描述
pattern 正则表达式
subject 需要匹配检索的对象
matches 可选,存储匹配结果的数组

实例:

<?php   
$userinfo = "Name: <b>John Poul</b> <br> Title: <b>PHP Guru</b>"; 
preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array); 
print $pat_array[0][0]." <br> ".$pat_array[0][1]."\n";
?>

输出结果:John Poul  PHP Guru

preg_replace() 

preg_replace() 是php正则表达式替换函数。

语法:

preg_replace( pattern, replacement, subject [, limit ])
参数 描述
pattern 正则表达式(可以是数组)
replacement 替换掉的字符串(可以是数组)
subject 进行匹配的字符串
limit 最大替换的次数,默认为全部替换

实例:

<?php
echo preg_replace("/(\d+)-(\d+)-(\d+)/", "$2/$3/$1", "2007-01-25");
echo preg_replace("/([Cc]opyright) 200(3|4|5|6)/", "$1 2007", "Copyright 2005");

//数组实例
$search = array ( "/(\w{6}\s\(w{2})\s(\w+)/e","/(\d{4})-(\d{2})-(\d{2})\s(\d{2}:\d{2}:\d{2})/");
$replace = array ('"$1 ".strtoupper("$2")',"$3/$2/$1 $4");
$string = "Posted by John | 2007-02-15 02:43:41"; 
echo preg_replace($search, $replace, $string); 
?>

本页链接:https://www.xiayu.wang/gdyw/phpzgz.html

文章标题:PHP正则表达式

版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。

评论

最新留言