我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。

优点

正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。

缺点

我们在使用正则表达式的时候,复杂的正则表达式会加大代码的 复杂度,让人很 难理解。所以我们有的时候需要在正则表达式内部添加注释。

通用模式(推荐学习:PHP编程从入门到精通)

定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。

什么时候使用"#"呢?一般是在你的字符串中有 很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。

使用"/"定界符的代码如下.$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';

$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';

$matches = array();

if(preg_match($regex, $str, $matches)){

var_dump($matches);

}

echo "\n";

preg_match中的$matches[0]将包含与整个模式匹配的字符串。

使用"#"定界符的代码如下.这个时候对"/"就不转义!$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';

$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';

$matches = array();

if(preg_match($regex, $str, $matches)){

var_dump($matches);

}

echo "\n";

正则表达式的定义可以这样简单概括:“正则表达式描述了一种字符串匹配的模式,通过这个模式在特定的函数中对字符串进行匹配、查找、替换及分割等操作。作为一个匹配模板,是由原子、特有功能字符及模式修正符三部分组成的文字模式。”

php认识正则吗,php正则表达式有什么用相关推荐

  1. python正则库_python 正则表达式第三方库 re的基本使用

    re模块简介: 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,而re模块就是python中实现正则的模块 正则表达式简介: 非打印字符: 非打印字符也可以是正则表达 ...

  2. 编译原理-正则文法与正则表达式的相互转化

    正则文法与正则表达式的相互转化 前言 一.正则文法 1.定义 2.例子 二.正则表达式 1.定义 2.例子 三.转换规则 1.正则文法转换为正则表达式 2.正则表达式转换为正则文法 四.转换例子 1. ...

  3. 编译原理--正则文法与正则表达式

    对任何正则文法G,存在定义同一语言的正则表达式r 对任何正则表达式r,存在生成同一语言的正则文法G 正则文法到正则表达式的转换 将正则文法中的每个非终结符表示成关于它的一个正则表达式方程,获得一个联立 ...

  4. java 正则_认识正则表达式(Java语言基础)

    正则表达式: 1. 字符串 2. 表示正确规则的式子 我们做一个SimpleDateFormat例子 首先新建一个工程,创建一个类 我们在获取当前系统时间的时候,我们可以按照下面的方式输出. 会发现输 ...

  5. python正则匹配_python 正则表达式详解

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...

  6. java 正则 懒惰_正则表达式懒惰模式

    在写BLOG练习程序的时候,考虑到用BBS直接输入可能会更加简洁些.但是如何转换又成了一个问题. 在群里问了问朋友,一致认同使用正则表达式最好.于是又翻起了那篇我觉得很好的正则表达式三十分钟入门,看了 ...

  7. php 正则 菜鸟,PHP正则表达式基础入门

    思维导图 介绍 正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如JavaScript.Java..Net.PHP 等,我今天就把我对正则表达式的理解跟大家唠唠,不当之 ...

  8. 正则环视 php,正则表达式基本知识(php)

    这里的知识点基本上是<正则指引>的读书笔记,只是每个知识点的示例代码用php来实现. 1. 字符组 字符组(Character Class)就是一组字符,在正则表达式中,它表示" ...

  9. python正则_python的正则表达式

    上次小编写了正则表达式的用法,今天就小编就讲讲正则表达式再python中的应用,在python中想使用正则表达式就需要导入re模块. 接下来小编将先介绍re模块中几个常见的函数 findall: re ...

最新文章

  1. 华为atn980传输设备_在头发丝中实现每秒1000张高清DVD传输
  2. 拿来就能用!如何用 AI 算法提高安全运维效率?
  3. websocket连接mqtt实现发布及订阅主题
  4. mysql类型_MySQL的数据类型
  5. 【双百解法】2058. 找出临界点之间的最小和最大距离——Leecode周赛系列
  6. html 给 ol添加abc,英语abc怎么写
  7. java基础-BigDecimal类常用方法介绍
  8. python读取文档中有很多指标的数据 写成矩阵_图像处理与特征提取 —— 从 MATLAB 到 Python(一)图像、矩阵与数据的读写...
  9. 一款发帖软件的逆向分析(C#)
  10. 数据结构常见面试题,一网打尽!
  11. 常用数字音频功放芯片-音频放大器
  12. 使用python在已存在的excel数据表中的特定位置写入数据
  13. 程序员转型IT讲师的优势
  14. 触控板用不了,解决办法:
  15. Unity VR(PicoVR)
  16. uni-app项目(首页)
  17. wxPython的基础教程
  18. 【​CES观察】我单反相机都带了,你就给我看这个?
  19. Android基于Poi生成Word
  20. [LeetCode-Algorithms-91] Decode Ways (2017.10.19-WEEK7)

热门文章

  1. php cms使用视频教程,PHPCMS v9视频模块使用教程二
  2. ebm风扇选型手册_德国EBM离心风扇的八大结构组成你知道吗?
  3. 信息采集软件测试,Telegraf采集CPU数据,测试派详解
  4. ext3分区修复linux,linux – 如何从损坏的ext3分区恢复数据?
  5. python自定义包_详解python自定义模块、包
  6. prooerties mysql_MySQL_第八章
  7. Variable W already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE……
  8. 服务器tcp连接占满_漫画 | 一台Linux服务器最多能支撑多少个TCP连接?
  9. oracle 初始化出错,OCCI编程时,初始化Date种出错
  10. java listfiles 使用_Java中list()和listFiles()方法之间的区别