三分钟学会PHP正则表达式

开发 后端
这里就PHP正则表达式中括号、量词、预定义字符范围、ereg语句可以区分大小写来判断四个方面做出详细的介绍,希望对大家有帮助。

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

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

PHP正则表达式介绍:

1.中括号

  1. [0-9]匹配0-9  
  2. [a-z]匹配a-z小写字母  
  3. [A-Z]匹配A-Z大写字母  
  4. [a-zA-Z]匹配所有大小写字母  
  5. 可以使用ascii来制定更多 

2.量词

  1. p+匹配至少一个含p的字符串  
  2. p*陪陪任何包含0个或多个p的字符串  
  3. p?匹配任何包含0个或一个p的字符串  
  4. p{2}匹配包含2个p的序列的字符串  
  5. p{2,3}匹配任何包含2个或3个的字符串  
  6. p$匹配任何以p结尾的字符串  
  7. ^p匹配任何以p开头的字符串  
  8. [^a-zA-Z]匹配任何不包含a-zA-Z的字符串  
  9. p.p匹配任何包含p、接下来是任何字符、再接下来有又是p的字符串  
  10. ^.{2}$匹配任何值包含2个字符的字符串  
  11. <b>(.*)b>匹配任何被<b>>包围的字符串  
  12. p(hp)*匹配任何一个包含p,后面是多个或0个hp的字符串 

3.预定义字符范围

  1. [:alpha:]同[a-zA-Z]  
  2. [:alnum:]同[a-zA-Z0-9]  
  3. [:cntrl:]匹配控制字符,比如制表符,反斜杠,退格符  
  4. [:digit:]同[0-9]  
  5. [:graph:]所有ASCII33~166范围内可以打印的字符  
  6. [:lower:]同[a-z]  
  7. [:punct:]标点符号  
  8. [:upper:]同[A-Z]  
  9. [:space:]空白字符,可以是空格、水平制表符、换行、换页、回车  
  10. [:xdigit:]十六进制符同[a-fA-F0-9] 

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

  1. if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小写的!"; 

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

  1. $url="http://www.xuandun.net";  
  2. $a=ereg("^(http://www)\.([[:alnum:]]+)\.([[:alnum:]]+)",$url,$regs);  
  3. echo $regs[0],"<br>";  
  4. echo $regs[1],"<br>";  
  5. echo $regs[2],"<br>";  
  6. echo $regs[3],"<br>"; 

得到

  1. http://www.xuandun.net  
  2. http://www  
  3. xuandun  
  4. net  
责任编辑:田树 来源: 博客
相关推荐

2024-04-01 09:59:08

消息队列通信微服务

2009-10-26 19:09:50

VB.NET转换形态

2021-10-22 09:09:43

Windows 11操作系统微软

2024-03-07 07:38:59

微服务HTTP客户端

2024-03-28 08:07:42

RabbitMQ订阅模式

2024-03-11 09:03:12

客户端负载均衡Ribbon

2024-04-02 08:27:19

异步任务抽象

2024-05-16 11:13:16

Helm工具release

2009-11-09 12:55:43

WCF事务

2024-12-18 10:24:59

代理技术JDK动态代理

2023-12-27 08:15:47

Java虚拟线程

2024-01-16 07:46:14

FutureTask接口用法

2022-02-17 09:24:11

TypeScript编程语言javaScrip

2021-04-20 13:59:37

云计算

2024-08-30 08:50:00

2009-11-03 17:15:07

VB.NET开发Exc

2019-08-29 20:10:03

U盘系统Windows 10

2020-06-30 10:45:28

Web开发工具

2013-06-28 14:30:26

棱镜计划棱镜棱镜监控项目

2021-12-17 07:47:37

IT风险框架
点赞
收藏

51CTO技术栈公众号