时间:2021-07-01 10:21:17 帮助过:18人阅读
$s = 'func(123,456,789)';preg_match('/,?(\d+)/', $s, $m);print_r($m);preg_match_all('/,?(\d+)/', $s, $m);print_r($m);
Array( [0] => 123 [1] => 123)Array( [0] => Array ( [0] => 123 [1] => ,456 [2] => ,789 ) [1] => Array ( [0] => 123 [1] => 456 [2] => 789 ))
看不懂就动手做做
计算机科学是实验型科学,只动眼不动手 是不行的
不明白就打印出来出来看看。
$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
这里说的第一个括号中的子模式 指的是\d+ 吗 ,是的话就看明白了。抱歉 我不是不想自己打,我在百度搜到输出结果了,但是有点困惑
( 子模式开始
) 子模式结束
手册是一定要看的!
匹配多个使用 preg_match_all
$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
$matches[0] 会把边界的也保存
$matches[1] 只保留正则匹配的
例如
$content = '';preg_match_all('//i', $content, $matches); print_r($matches[0]);print_r($matches[1]);
$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
$matches[0] 会把边界的也保存
$matches[1] 只保留正则匹配的
例如
$content = '';preg_match_all('//i', $content, $matches); print_r($matches[0]);print_r($matches[1]);
以后碰到同类问题都可以先打印一下看看