Php/func regex preg match all
来自菜鸟教程
PHP preg_match_all()函数
例
查找字符串中所有出现的“ ain”:
<?php $str = "The rain in SPAIN falls mainly on the plains."; $pattern = "/ain/i"; if(preg_match_all($pattern, $str, $matches)) { print_r($matches); } ?>
定义和用法
The
preg_match_all()
函数返回在字符串中找到的模式的匹配数,并使用找到的匹配填充变量。
句法
preg_match_all(pattern, input, matches, flags, offset)
参数值
参数 | 描述 |
---|---|
pattern | 需要。包含一个正则表达式,指示要搜索的内容 |
input | 需要。将在其中执行搜索的字符串 |
matches | 可选的。此参数中使用的变量将填充一个包含所有找到的匹配项的数组 |
flags |
可选的。一组用于更改matchs数组结构的选项。
可以应用以下任意多个选项:
|
offset | 可选的。预设为0。指示开始搜索到字符串的距离。preg_match()函数将找不到在此参数给定位置之前发生的匹配项 |
技术细节
返回值: | 返回找到的匹配数;如果发生错误,则返回false |
PHP版本: | 4+ |
更新日志: | PHP 7.2-添加了PREG_UNMATCHED_AS_NULL标志
|
更多例子
例
使用PREG_PATTERN_ORDER设置 matches 阵列。在此示例中, matches 数组具有正则表达式分组之一的所有匹配项。
<?php $str = "abc ABC"; $pattern = "/((a)b)(c)/i"; if(preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER)) { print_r($matches); } ?>