0%

正则表达式之库函数

php自带了正则表达式相关的一些函数,特此记录!

一、PCRE(兼容Perl)

  1. preg_filter — 执行一个正则表达式搜索和替换
  2. preg_grep — 返回匹配模式的数组条目
  3. preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
  4. preg_match_all — 执行一个全局正则表达式匹配
  5. preg_match — 执行匹配正则表达式
  6. preg_quote — 转义正则表达式字符
  7. preg_replace_callback_array — Perform a regular expression search and replace using callbacks
  8. preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
  9. preg_replace — 执行一个正则表达式的搜索和替换
  10. preg_split — 通过一个正则表达式分隔字符串

二、POSIX

  1. ereg_replace — 正则表达式替换
  2. ereg — 正则表达式匹配
  3. eregi_replace — 不区分大小写的正则表达式替换
  4. eregi — 不区分大小写的正则表达式匹配
  5. split — 用正则表达式将字符串分割到数组中
  6. spliti — 用正则表达式不区分大小写将字符串分割到数组中
  7. sql_regcase — 产生用于不区分大小的匹配的正则表达式

三、PCRE和POXIS对比

  1. PCRE函数需要模式以分隔符闭合。
  2. 不像POSIX,PCRE扩展没有专门用于大小写不敏感匹配的函数。取而代之的是,支持使用i(PCRE_CASELESS)模式修饰符完成同样的工作。
    • 其他模式修饰符同样可用于改变匹配策略。
  3. POSIX函数从最左面开始寻找最长的匹配,但是 PCRE 在第一个合法匹配后停止。
    • 使用模式 one(self)?(selfsufficient)? 在字符串oneselfsufficient上匹配,PCRE会匹配到oneself,但是使用POSIX,结果将是整个字符串oneselfsufficient。
    • 两个子串都匹配原始字符串,但是 POSIX 将 最长的作为结果。