首页 > PHP开发 > php中级 > PHP扩展之文本处理(二)——PCRE正则表达式概述及示例
2014
11-07

PHP扩展之文本处理(二)——PCRE正则表达式概述及示例

这些函数中使用的模式语法非常类似 perl。表达式必须用分隔符闭合,比如一个正斜杠(/)。 分隔符可以使任意非字母数字,除反斜杠(\)和空字节之外的非空白 ascii 字符。 如果分隔符 在表达式中使用,需要使用反斜线进行转义。自php 4.0.4开始,可以使用 perl 样式的()、 {}、 [] 以及 <> 作为分隔符。

结束分隔符后面可以紧跟模式修饰符来影响匹配效果。

PHP也支持使用 POSIX 扩展正则表达式函数 的 POSIX 扩展语法的正则表达式

Example #1 合法模式示例

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Example #2 非法模式示例

  • /href='(.*)' - 缺失结束分隔符
  • /\w+\s*\w+/J - 未知模式修饰符"J"
  • 1-\d3-\d3-\d4| - 缺失开始分隔符

PCRE相关函数:

  • preg_filter — 执行一个正则表达式搜索和替换
  • preg_grep — 返回匹配模式的数组条目
  • preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
  • preg_match_all — 执行一个全局正则表达式匹配
  • preg_match — 执行一个正则表达式匹配
  • preg_quote — 转义正则表达式字符
  • preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
  • preg_replace — 执行一个正则表达式的搜索和替换
  • preg_split — 通过一个正则表达式分隔字符串

编程技巧