# :-: php正则匹配函数
1. preg_match 执行匹配正则表达式
2. preg_match_all 执行一个全局正则表达式匹配
3. preg_replace 执行一个正则表达式的搜索和替换
4. preg_filter 执行一个正则表达式搜索和替换
5. preg_quote 转义正则表达式字符
6. preg_grep 返回匹配模式的数组条目
7. preg_split 通过一个正则表达式分隔字符串
---
### 1. `preg_match` 执行匹配正则表达式
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,字符串类型。(正则表达式)
subject| 必需。被查询的字符串。
matches| 可选。搜索结果。
> **示例:**
```php
$pattem = '/[0-9]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match($pattem,$subject,$matches);
var_dump($a); // 输出匹配次数
var_dump($matches); // 输出匹配结果
```
---
### 2. `preg_match_all` 执行一个全局正则表达式匹配
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,字符串类型。(正则表达式)
subject| 必需。被查询的字符串。
matches| 可选。搜索结果。
> **示例:**
```php
$pattem = '/[0-9]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem,$subject,$matches);
var_dump($a); // 输出匹配次数
var_dump($matches); // 输出匹配结果
```
---
### 3. `preg_replace` 执行一个正则表达式的搜索和替换
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,可以使一个字符串或字符串数组。(正则表达式)
replacement| 必需。用于替换的字符串或字符串数组。
subject| 必需。被查询的字符串或字符串数组。
limit| 可选。进行替换的最大次数。默认是 -1(无限)。
> **示例1:**
```php
$pattem = '/ouyangke/';
$replacement = '欧阳克';
$subject = '11112222333344445555666677778888999900000
aaabbbcccdddeeefffggghhhiiijjjjkkkk
llllmmmmssssooopppqqqqrrrrssswwwvvvzzzxxxx ouyangke ouyangke ouyangke zhulaoshi zhulaoshi zhulaoshi ximen ximen ximen ';
$a = preg_replace($pattem, $replacement, $subject);
var_dump($a);
```
> **示例2:**
```php
$pattem = array('/ouyangke/','/ximen/');
$replacement = array('欧阳克','西门大官人');
$subject = array(
'11112222333344445555666677778888999900000
aaabbbcccdddeeefffggghhhiiijjjjkkkk
llllmmmmssssooopppqqqqrrrrssswwwvvvzzzxxxx ouyangke ouyangke ouyangke ',
'ouyangke ouyangke ouyangke zhulaoshizhulaoshi ximen ximen ximen '
);
$a = preg_replace($pattem, $replacement, $subject);
var_dump($a);
```
---
### 4. `preg_filter` 执行一个正则表达式搜索和替换
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,可以使一个字符串或字符串数组。(正则表达式)
replacement| 必需。用于替换的字符串或字符串数组。
subject| 必需。被查询的字符串或字符串数组。
limit| 可选。进行替换的最大次数。默认是 -1(无限)。
> **示例1:**
```php
$pattem = '/ouyangke/';
$replacement = '欧阳克';
$subject = '11112222333344445555666677778888999900000
aaabbbcccdddeeefffggghhhiiijjjjkkkk
llllmmmmssssooopppqqqqrrrrssswwwvvvzzzxxxx ouyangke ouyangke ouyangke zhulaoshi zhulaoshi zhulaoshi ximen ximen ximen ';
$a = preg_filter($pattem, $replacement, $subject);
var_dump($a);
```
> **示例2:**
```php
$pattem = array('/ouyangke/','/ximen/');
$replacement = array('欧阳克','西门大官人');
$subject = array(
'11112222333344445555666677778888999900000
aaabbbcccdddeeefffggghhhiiijjjjkkkk
llllmmmmssssooopppqqqqrrrrssswwwvvvzzzxxxx ouyangke ouyangke ouyangke ',
'ouyangke ouyangke ouyangke zhulaoshizhulaoshi zhulaoshi ximen ximen ximen '
);
$a = preg_filter($pattem, $replacement, $subject);
var_dump($a);
```
---
### 5. `preg_quote` 转义正则表达式字符
**参数**|**描述**
---|---
str| 必需。要转义的字符串。
> **示例:**
```php
$subject = '^ouyangke$zhulaoshi=miejue!\ximen&[] ';
$a = preg_quote($subject);
var_dump($a);
```
---
### 6. `preg_grep` 返回匹配模式的数组条目
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,可以使一个字符串。(正则表达式)
input| 必需。输入数组
> **示例:**
```php
$pattem = '/^(\d+)?\.\d+$/';
$array = array(1, 2, 3.4, 53, 7.9);
$a = preg_grep($pattem,$array);
var_dump($a);
```
---
### 7. `preg_split` 通过一个正则表达式分隔字符串
**参数**|**描述**
---|---
pattern| 必需。要搜索的模式,可以使一个字符串。(正则表达式)
subject| 必需。被查询的字符串
limit| 可选。分隔得到的子串最多只有limit个。默认是 -1(无限)
> **示例:**
```php
$pattem = '/[\s,]+/';
$subject = 'ouyangke ouyangke zhulaoshi zhulaoshi ximen ximen';
$a = preg_split($pattem,$subject);
var_dump($a);
```
- 序言
- PHP基础
- 认识PHP
- 环境安装
- PHP语法
- 流程控制
- PHP数组
- PHP函数
- PHP类与对象
- PHP命名空间
- PHP7新特性
- PHP方法库
- PHP交互
- 前后端交互
- 项目常规开发流程
- MySQL数据库
- 会话控制
- Ajax分页技术
- 细说函数
- 类与对象
- 对象进阶
- 类与对象进阶
- OOP面向对象
- 设计模式
- 路由与模板引擎
- 异常类
- PHP爬虫
- PHP抓取函数
- PHP匹配函数
- 正则表达式
- PHP字符串函数
- 抓取实战
- PHP接口
- 了解接口
- PHP插件
- PHPSpreadsheet
- ThinkPHP6
- 安装
- 架构
- 数据库
- 数据库操作
- 视图
- 模版
- 模型
- 杂项
- 命令行
- 交互
- 微信小程序
- 介绍
- 配置
- 组件
- 交互
- API
- 其他知识
- 百度小程序
- 介绍
- 配置
- 组件
- 交互
- API
- 其他知识
- Linux
- 服务器上线流程
- 安装svn
- MySQL
- 认识MySQL
- MySQL函数
- 杂项
- composer依赖管理工具