1. preg_match 执行匹配正则表达式 2. preg_match_all 执行一个全局正则表达式匹配 3. preg_replace 执行一个正则表达式的搜索和替换 4. preg_filter 执行一个正则表达式搜索和替换 5. preg_quote 转义正则表达式字符 6. preg_grep 返回匹配模式的数组条目 7. preg_split 通过一个正则表达式分隔字符串
preg_match 执行匹配正则表达式| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,字符串类型。(正则表达式) |
| subject | 必需。被查询的字符串。 |
| matches | 可选。搜索结果。 |
示例:
$pattem = '/[0-9]/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk'; $a = preg_match($pattem,$subject,$matches); var_dump($a); // 输出匹配次数 var_dump($matches); // 输出匹配结果
preg_match_all 执行一个全局正则表达式匹配| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,字符串类型。(正则表达式) |
| subject | 必需。被查询的字符串。 |
| matches | 可选。搜索结果。 |
示例:
$pattem = '/[0-9]/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 输出匹配次数 var_dump($matches); // 输出匹配结果
preg_replace 执行一个正则表达式的搜索和替换| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,可以使一个字符串或字符串数组。(正则表达式) |
| replacement | 必需。用于替换的字符串或字符串数组。 |
| subject | 必需。被查询的字符串或字符串数组。 |
| limit | 可选。进行替换的最大次数。默认是 -1(无限)。 |
示例1:
$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:
$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);
preg_filter 执行一个正则表达式搜索和替换| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,可以使一个字符串或字符串数组。(正则表达式) |
| replacement | 必需。用于替换的字符串或字符串数组。 |
| subject | 必需。被查询的字符串或字符串数组。 |
| limit | 可选。进行替换的最大次数。默认是 -1(无限)。 |
示例1:
$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:
$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);
preg_quote 转义正则表达式字符| 参数 | 描述 |
|---|---|
| str | 必需。要转义的字符串。 |
示例:
$subject = '^ouyangke$zhulaoshi=miejue!\ximen&[] '; $a = preg_quote($subject); var_dump($a);
preg_grep 返回匹配模式的数组条目| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,可以使一个字符串。(正则表达式) |
| input | 必需。输入数组 |
示例:
$pattem = '/^(\d+)?\.\d+$/'; $array = array(1, 2, 3.4, 53, 7.9); $a = preg_grep($pattem,$array); var_dump($a);
preg_split 通过一个正则表达式分隔字符串| 参数 | 描述 |
|---|---|
| pattern | 必需。要搜索的模式,可以使一个字符串。(正则表达式) |
| subject | 必需。被查询的字符串 |
| limit | 可选。分隔得到的子串最多只有limit个。默认是 -1(无限) |
示例:
$pattem = '/[\s,]+/'; $subject = 'ouyangke ouyangke zhulaoshi zhulaoshi ximen ximen'; $a = preg_split($pattem,$subject); var_dump($a);