# :-: 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依賴管理工具