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正则执行产生的错误代码

Last updated