正则表达式是 php 中一个非常重要的知识点,通常用来查找和替换字符串,最常用的就是验证用户输入的信息格式是否正确,如邮件格式、电话格式等等。还有比如采集器之类的软件中,正则也是必用不可!

现在开始来学习正则表达式的基本语法:

1./”是定界符,“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。同时为了正则更加灵活,引入了元字符,即“+”, “*”,以及 “?”。

(1)“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次

比如:/php+/,能够与“phpp”匹配,即字母ph后面连续出现一个或多个字母p的字符串相匹配。

(2)“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次

比如:/php*/能够与“phpddt”相匹配,即ph后面可以有0个或多个p

(3)“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

比如:/php?/能够“pher”匹配,即phh后面可以有0个或者1个p

其他重要的元字符:

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的所有字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配所有与\w不匹配的字符;

. :用于匹配除换行符之外的所有字符。

示例:/\s+/用于匹配目标对象中的一个或多个空格字符

2.定位符用于规定匹配模式在目标对象中的出现位置。常用的有“^”, “$”, “\b” 以及 “\B”

(1)“^”定位符规定匹配模式必须出现在目标字符串的开头

(2)“$”定位符规定匹配模式必须出现在目标对象的结尾

(3)\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一

(4)“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内

3.php的正则匹配模式非常灵活,可以指定某一范围

例如:

/[A-Z]/

上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/

上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/

上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+/

上述正则表达式将会与任何由字母和数字组成的字符串

4.可以同时与多种模式选择匹配

如/phpddt.com|phpddt|100/可以与“phpddt.com” “phpddt” “100”相匹配

5.否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串

例如:[^phpddt]匹配除了phpddt字符外的所有东西

下面来讲讲正则表达式常用函数吧!(非常重要)

<?php
02.
03.//preg_match("正则表达式","字符串")用于在字符串中查找匹配项
04.
05.$email = "987044391@qq.com";
06.if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){
07. echo '匹配成功<hr />';
08.}else {
09. echo '匹配失败<hr />';
10.}
11.
12.//preg_quote("字符串") 在每个有正则表达式语法前面加入一个转义字符即\
13.
14.$str = "php点点通是一个学习php的网站,(⊙o⊙)…";
15.echo preg_quote($str);
16.echo "<hr />";
17.
18.//preg_split("正则","字符串")分割字符串
19.$php = "+php++点点通++++是好网站";
20.$field = preg_split("/\+{1,}/",$php);
21.foreach($field as $f){
22. echo $f." ";
23.}
24.echo "<hr />";
25.//preg_grep("正则","字符串") 与数组匹配后返回新数组
26.$phpddt = array("php点点通","php100","呵呵","hahaha","phpchina");
27.$item = preg_grep("/^php/",$phpddt);
28.print_r($item);
29.
30.echo "<hr />";
31.//preg_replace("正则","替换内容","原字符串")    很重要,很常用
32.$a = "欢迎光临http://www.phpddt.com/";  //给http开头的加上超链接
33.echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>","$a");
34.
35.?>

转载于:链接

另外一些较好的参考文章:链接 链接

php正则表达式以及正则函数详解相关推荐

  1. dreamweaver 正则表达式为属性值加上双引号_PHP正则表达式核心技术完全详解 第2节...

    PHP 正则表达式核心技术完全详解 第2节 接上一节内容 1 普通字符作为原子 /5/ 用于匹配字符串中是否有5这个字符出现 /php/ 用于匹配字符串中是否有PHP字符串出现 /  / 匹配空字符串 ...

  2. EditPlus正则表达式替换字符串详解

    EditPlus正则表达式替换字符串详解 发布时间:April 8, 2007 分类:Regular <PHP 实现多服务器共享 SESSION 数据> <利用javascript在 ...

  3. 关于日期正则表达式的思路详解

    1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN ...

  4. 站长在线Python精讲:Python中正则表达式的语法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中正则表达式的语法详解>.本知识点主要内容有9点:行定位符.元字符.限定符.字符集.排除字符.选择字符.转义字符 ...

  5. PHP中邮箱地址的正则表达式,php邮箱地址正则表达式实现与详解,邮箱地址正则表达式_PHP教程...

    php邮箱地址正则表达式实现与详解,邮箱地址正则表达式 本文章不但要讲述了关于正则达式而且还讲述了关于邮箱正则的构成用法详解,有需要了解的朋友可以参考一下,同时我们也提供了多种不同的邮箱验证实例. 正 ...

  6. oracle中正则表达式规则,Oracle中的正则表达式(及函数)详解

    1.概述 相信大家对正则表达式都不陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用的时候也并不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具. 上一篇文 ...

  7. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

    正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...

  8. php 两个单词 正则表达式字符前_PHP正则表达式核心技术完全详解 第3节

    PHP 正则表达式核心技术详解 第3节 我们在第2节中学习了有关正则的原子.元字符.原子表.转义字符等重要知识点, 这一节我们来讲一下正则中的量词.断言匹配.逻辑匹配.等重要知识! 1 量词 量词: ...

  9. php preg_match 只匹配第一个字符_PHP正则表达式核心技术完全详解 第3节

    PHP 正则表达式核心技术详解 第3节 我们在第2节中学习了有关正则的原子.元字符.原子表.转义字符等重要知识点, 这一节我们来讲一下正则中的量词.断言匹配.逻辑匹配.等重要知识! 1 量词 量词: ...

最新文章

  1. MySQL自定义函数(CREATE FUNCTION)
  2. ubuntu安装curl报错或get update失败
  3. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)
  4. Django非常简单的安装方法
  5. 新时代培育新动能:2021年“专精特新”发展蓝皮书
  6. 河南科技大学计算机信息安全技术考试,关于申报2020年信息安全等级保护项目的通知...
  7. 媲美专业相机? 看看华为P40带来的影像新突破!
  8. mybatis-plus 逻辑删除
  9. 力扣有没有java_力扣题解
  10. ios UIView sizeToFit sizeThatFits
  11. 为知笔记保存为html,为知笔记怎么保存网页 为知笔记保存网页教程
  12. 咪咕阅读怎么下载小说
  13. Unity动画系统-配置Avatar
  14. 科学计算机统计说明书,科学计算器的使用方法
  15. 丰城九中2021高考成绩查询,丰城九中2021届毕业典礼
  16. 理财投资理念黄金法则
  17. C#操作三菱FX系列PLC数据
  18. 量化基金股票的投资策略有哪些?
  19. ifup,ifdown命令详解
  20. 在linux下 用户的密码错误,linux中root用户密码错误如何解决

热门文章

  1. OSPF——GRE Tunnel(含配置命令)详解
  2. MongoDB异常修复
  3. 在玩客云或树莓派上通过ffmpeg将视频推流到直播平台
  4. 【Python】求n!
  5. 【Python】爬虫原理
  6. seo外链重要性_为什么网站速度对于SEO至关重要?以及如何加快网站速度
  7. 河内之塔算法_如何解决河内问题之塔-图解算法指南
  8. 递归函数非递归化_递归神秘化
  9. wordpress忘记登录密码,更改域名的办法。
  10. python是值传递还是引用传递_Python里参数是值传递还是引用传递?