preg_match_all

Php中正则小结(一)

时光毁灭记忆、已成空白 提交于 2019-12-29 07:29:50
一.概念 语法模式类似 perl . 表达式必须用分隔符闭合,比如一个正斜杠 (/). 分隔符可以是 任意非字母非数字,除反斜杠 (\) 和空字节之外的非空白 ascii 字符 如果分隔符 在表达式中使用,需要使用反斜线进行转义 。 二.组成 元字符 一个正则表达式基本组成 /原子和元字符/模式修正符 /代表定界符的一个 正则表达式的威力在于其能够在模式中包含选择和循环。它们通过使用元字符来编码在模式中,元字符不代表其自身,它们用一些特殊的方式来解析。 根据在方括号的内部还是外部分为两种。 1.方括号之外的元字符 元字符(符号) 说明 \ 一般用于转义字符 ^ 断言目标的开始位置(或在多行模式下是行首) $ 目标的结束位置(活在多行模式下行尾) . 匹配除换行符外任何字符(默认时) [,] 开始,结束字符类定义 | 开始一个可选分支 ( ,) 子组的开始,结尾标记 ? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性 * 量词,0 次或多次匹配 + 量词,1 次或多次匹配 { ,} 自定义量词开始标记,结束标记 2.模式中方括号内的部分称为“字符类” 元字符 说明 \ 转义字符 ^ 仅在作为第一个字符时,表明字符类取反 - 标记字符范围 元字符用法说明举例 1.转义(反斜线) \后紧跟着一个非字母数字字符,则取消该字符可能具有的任何特殊含义

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

百般思念 提交于 2019-12-05 12:50:15
正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容 正则替换:根据正则表达式匹配内容并替换 正则分割:根据正则表达式分割字符串 在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例子说明。 定界符 Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中。任何不是字母、数字或反斜线()的字符都可以作为定界符,通常我们使用 / 作为定界符。具体使用见下面的例子。 提示 尽管正则表达式功能非常强大,但如果用普通字符串处理函数能完成的,就尽量不要用正则表达式函数,因为正则表达式效率会低得多。关于普通字符串处理函数,请参见《 PHP 字符串处理 》。 preg_match() preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。 语法: int preg_match( string pattern, string subject [, array matches ] ) 参数说明: 参数 说明 pattern 正则表达式 subject 需要匹配检索的对象 matches 可选,存储匹配结果的数组, $matches[0]