PHPer 高手之路
  • Introduction
  • First Chapter
  • 基础
    • 数据类型和常量
    • 字符串
      • 字符编码
      • 字符编码相关编程
    • 引用变量
    • 运算符与错误控制符@
    • 流程控制与条件判断
      • foreach遍历中的引用
    • 函数
    • 文件及目录处理
  • PHP 数组
    • 基础
    • PHP数组操作
    • 输入流 php://input
    • PHP数组的内部实现
    • PHP数组和数据结构
    • 示例技巧
  • PHP文件编程
    • 文件系统
    • 基础
    • 实例技巧
    • PHP中XML处理
    • PHP中JSON处理
    • PHP中CSV处理
    • 大文件上传
  • 正则表达式
    • 基础
    • 正则的引擎
    • 表达式的优化
    • PHP中正则的使用
  • PHP 编码技巧
    • PHP编码习惯
    • PHP语法糖
    • PHP代码优化
    • PHP重点新特性
    • PHP编码规范
  • PHP选项和运行原理
    • PHP SAPI
    • PHP运行模式及安装方式
    • 附录:进程和线程的Q解
    • Apache下的MPM模式
    • Apache 与 Nginx
    • PHP的运行机制及原理
    • PHP垃圾回收机制
    • PHP配置选项
  • PHP安全
    • 跨站脚本攻击(XSS )
    • 跨站请求伪造(CRSF)
  • PHP 高级特性
    • 异常处理(Exceptions)
    • 代码复用(Trait)
    • 预定义接口(Predefined Interfaces)
    • 魔术方法(Magic Methods)
    • 回调函数、匿名函数&闭包
    • 命名空间(Namespaces)
    • 自动加载(Autoload)
    • 反射(Reflection)
    • 魔术常量(Magic constants)
    • 综合实例
  • 附录:关键词
  • 附录:资料
  • 代码的版本控制
    • SVN
    • Git
      • 疑难杂症
  • Linux
    • Linux原理与基础
    • 常见命令
    • Shell 编程
    • awk 与 sed
    • 命令笔记
  • HTTP 协议
    • 请求方法与返回状态码
    • Cookie、Session 的原理
  • MySQL
    • MySQL表存储引擎
  • 标准PHP库(SPL)
    • 数据结构
      • SplPriorityQueue - 优先队列
      • SplQueue - 队列
      • SplStack - 栈的功能
    • 接口
      • Countable - count统计接口
  • 附录:ElasticSearch
  • PHP数据结构
  • 附录:Rabbitmq
  • 附录:guzzle
  • JavaScript
    • 附录:资料
  • 疑难杂症
Powered by GitBook
On this page
  • PHP中的PCRE库和POSIX库的对比
  • PHP常用的模式修饰符
  • PCRE的分隔符
  • PCRE的主要函数

Was this helpful?

  1. 正则表达式

PHP中正则的使用

PHP中的PCRE库和POSIX库的对比

POSIX

PCRE

ereg_replace()

preg_replace()

ereg()

preg_match()

eregi_replace()

preg_replace()

eregi()

preg_match()

split()

preg_split()

spliti()

preg_split()

sql_regcase()

无对等函数

注意:PHP5.3 中已经对POSIX库函数废弃,不要在使用

PHP常用的模式修饰符

  • i 大小写不敏感匹配

  • m 增强的行锚点模式

  • x 空白和#注释将被忽略

  • s 点号元字符匹配所有字符,包含换行符(意思是,点本身比配是不包含换行符的,使用s修饰符,点也同时包含换行符)

  • e 将替换后的字符串作为php 代码评估执行(匹配替换后的字符做为php代码执行,返回的结果为最终结果)

PCRE的分隔符

PCRE需要由分隔符闭合包裹。

分隔符可以使任意非字母数字、非反斜线、非空白字符。

  • (1) /foo bar/

  • (2)#^[^0-9]$#

  • (3)+php+

  • (4)%[a-zA-Z0-9_-]%

PCRE的主要函数

  • preg_grep — 返回匹配模式的数组条目

  • preg_match — 执行一个正则表达式匹配

  • preg_match_all — 执行一个全局正则表达式匹配

  • preg_filter — 执行一个正则表达式搜索和替换

  • preg_replace — 执行一个正则表达式的搜索和替换

  • preg_replace_callback — 执行搜索并且使用一个回调进行替换

  • preg_split — 通过一个正则表达式分隔字符串

  • preg_quote — 转义正则表达式字符

  • preg_last_error — 返回最后一个PCRE正则执行产生的错误代码

Previous表达式的优化NextPHP 编码技巧

Last updated 5 years ago

Was this helpful?