- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.正则表达式讲义
正则表达式;正则表达式简介
正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。到目前为止,我们前面所用过的精确(文本)匹配也是一种正则表达式。
在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述。;正则表达式简介;正则表达式较重要和较有用的角色是验证用户数据的有效性检查。PHP中,正则表达式有三个作用:
匹配,也常常用于从字符串中析取信息。
用新文本代替匹配文本。
将一个字符串拆分为一组更小的信息块。
;PCRE正则表达式;正则表达式的语法规则;原子(Atom);普通转义字符 ;元字符(Meta-character);字符串边界限制;单词边界限制;重复匹配; 任何一个字符;重复匹配(? * + . .*);原子表 -方括号表达式;模式选择符 ;模式单元 ;重新使用的模式单元 ;模式修正符(Pattern Modifiers) ;下面是几个简单的示例,可以说明模式修正符的使用
/apple/i匹配“apple”或“Apple”等,忽略大小写。
/I love you/ix匹配“iloveYou”,忽略大小写以及空白。
/.*/ U将依次匹配字符串“bCool/b musichr Few years ago….. ”中的“b”、“/b”和“hr”。而/.*/却匹配到最后一个可用的字符串,既“bCool/bmusichr” 。
/h.*/Uis将HTML文件视为单行字符串,忽略大小写和换行符。匹配其中的所有以“h”开头的标签,如“Hl”、“hr size=1”等。;模式匹配的顺序 ;PCRE正则表达式函数;正则表达式的匹配 ;?php
//需要匹配的字符串。date函数返回当前时间
$content = Current date and time is .date(Y-m-d h:i a)., we are learning PHP together.;
//使用通常的方法匹配时间
if (preg_match (/\d{4}-\d{2}-\d{2} \d{2}:\d{2} [ap]m/, $content, $m))
{
echo 匹配的时间是: .$m[0]. \n;
}
//由于时间的模式明显,也可以简单的匹配
if (preg_match (/([\d-]{10}) ([\d:]{5} [ap]m)/, $content, $m))
{
echo 当前日期是: .$m[1]. \n;
echo 当前时间是: .$m[2]. \n;
}
?;进??全局正则表达式匹配;?php
//功能:将文本中的链接地址转成HTML
function url2html($text)
{
//匹配一个URL,直到出现空白为止
preg_match_all(/http:\/\/?[^\s]+/i, $text, $links);
//设置页面显示URL地址的长度
$max_size = 40;
foreach($links[0] as $link_url)// 0 全匹配
{ //计算URL的长度。如果超过$max_size的设置,则缩短。
$len = strlen($link_url);
if($len $max_size)
{
$link_text = substr($link_url, 0, $max_size)....;
} else {
$link_text = $link_url;
}
//生成HTML文字
$text = str_replace($link_url,“a href=‘$link_url’$link_text/a”,$text);//把每个URL都转换成链接
}
return $text;
}
;//运行实例
$str = “这是一个包含多个URL链接地址的多行文字。欢迎访问”;
print url2html($str);
/*输出结果
这是一个包含多个URL链接地址的多行文字。欢迎访问a href=
/a
*/
?
; preg_grep();?php
$subjects = array(
Mechanical Engineering, Medicine,
Social Science, Agriculture,
Commercial Science, Politics
);
//
文档评论(0)