Home > php教程 > php手册 > body text

三分钟学会PHP正则表达式

WBOY
Release: 2016-06-13 11:04:37
Original
1075 people have browsed it

PHP是编写动态WEB页面开发常用的脚本语言,而正则表达式是PHP中很重要的一个部分,下面我们就PHP正则表达式和大家详细的谈谈吧。在ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器。

但是与ASP或 ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性。用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运行。除了能够精确的控制WEB页面的显示内容之外,用户还可以通过使用PHP发送HTTP报头。用户可以通过PHP设置cookies,管理用户身份识别,并对用户浏览页面进行重定向。PHP具有非常强大的数据库支持功能,能够访问几乎目前所有较为流行的数据库系统。此外,PHP可以与多个外接库集成,为用户提供更多的实用功能,如生成PDF文件等。虽然很多人对PHP正则表达式已经很熟悉了,不过作为重要的基础部分,笔记还是不能免掉的。

PHP正则表达式介绍:

1.中括号

<ol class="dp-xml">
<li class="alt"><span><span>[0-9]匹配0-9  </span></span></li>
<li class=""><span>[a-z]匹配a-z小写字母  </span></li>
<li class="alt"><span>[A-Z]匹配A-Z大写字母  </span></li>
<li class=""><span>[a-zA-Z]匹配所有大小写字母  </span></li>
<li class="alt"><span>可以使用ascii来制定更多 </span></li>
</ol>
Copy after login

2.量词

<ol class="dp-xml">
<li class="alt"><span><span>p+匹配至少一个含p的字符串  </span></span></li>
<li class=""><span>p*陪陪任何包含0个或多个p的字符串  </span></li>
<li class="alt"><span>p?匹配任何包含0个或一个p的字符串  </span></li>
<li class=""><span>p{2}匹配包含2个p的序列的字符串  </span></li>
<li class="alt"><span>p{2,3}匹配任何包含2个或3个的字符串  </span></li>
<li class=""><span>p$匹配任何以p结尾的字符串  </span></li>
<li class="alt"><span>^p匹配任何以p开头的字符串  </span></li>
<li class=""><span>[^a-zA-Z]匹配任何不包含a-zA-Z的字符串  </span></li>
<li class="alt"><span>p.p匹配任何包含p、接下来是任何字符、再接下来有又是p的字符串  </span></li>
<li class=""><span>^.{2}$匹配任何值包含2个字符的字符串  </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span></span></font></strong><span>(.*)</span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span></span></font></strong><span>匹配任何被</span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span><span class="tag"><span class="tag">></span></span></span></font></strong><span>包围的字符串  </span>
</li>
<li class=""><span>p(hp)*匹配任何一个包含p,后面是多个或0个hp的字符串 </span></li>
</ol>
Copy after login

3.预定义字符范围

<ol class="dp-xml">
<li class="alt"><span><span>[:alpha:]同[a-zA-Z]  </span></span></li>
<li class=""><span>[:alnum:]同[a-zA-Z0-9]  </span></li>
<li class="alt"><span>[:cntrl:]匹配控制字符,比如制表符,反斜杠,退格符  </span></li>
<li class=""><span>[:digit:]同[0-9]  </span></li>
<li class="alt"><span>[:graph:]所有ASCII33~166范围内可以打印的字符  </span></li>
<li class=""><span>[:lower:]同[a-z]  </span></li>
<li class="alt"><span>[:punct:]标点符号  </span></li>
<li class=""><span>[:upper:]同[A-Z]  </span></li>
<li class="alt"><span>[:space:]空白字符,可以是空格、水平制表符、换行、换页、回车  </span></li>
<li class=""><span>[:xdigit:]十六进制符同[a-fA-F0-9] </span></li>
</ol>
Copy after login

4.ereg语句可以区分大小写来判断,下例

<ol class="dp-xml"><li class="alt"><span><span>if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小写的!"; </span></span></li></ol>
Copy after login

ereg还可以返回一个数组 例如

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">url</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"http://www.xuandun.net"</font></span><span>;  </span></span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">a</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">ereg</font></span><span>("^(http://www).([[:alnum:]]+).([[:alnum:]]+)",$url,$regs);  </span>
</li>
<li class="alt">
<span>echo $regs[0],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="">
<span>echo $regs[1],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="alt">
<span>echo $regs[2],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="">
<span>echo $regs[3],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>"; </span>
</li>
</ol>
Copy after login

得到

<ol class="dp-xml">
<li class="alt"><span><span>http://www.xuandun.net  </span></span></li>
<li class=""><span>http://www  </span></li>
<li class="alt"><span>xuandun  </span></li>
<li class=""><span>net  </span></li>
</ol>
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!