为了账号安全,请及时绑定邮箱和手机立即绑定

preg_match输出问题

$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配   这句话怎么理解?

正在回答

1 回答

正则表达式匹配的一般结果会包括你所有匹配的内容,但是有些的匹配内容不是我们全部要的,例如我们要陪陪的文字源是“hello, my name is xxx”,我们想要提取名字"xxx",然后我们寻找名字的方法是"my name is "后面就是我想要的名字,所以正则表达式为'my name is (\w+)',得到的结果为数组Array([0]=>"my name is xxx" [1]=>"xxx"),但是我们真正有用的是"xxx",而完整模式,我觉得可以用于匹配的结果"xxx"错误了,我们用于检查我们的正则表达式是否有误,会不会陪配到"my naem is xxx"。


实际案例:


======================================

<?php
$str = "<ul>
            <li>item 1</li>
            <li>item 2</li>
        </ul>";
//在这里补充代码,实现正则匹配所有li中的数据
$p='/<li>(.*)<\/li>/i';
preg_match_all($p,$str,$matches);
print_r($matches);

?>


=======================================

输出结果为

Array (   

            [0] => Array( 

                                [0] =><li>item 1</li>

                                [1] => <li>item 2</li>

                        )   

            [1] => Array(

                                [0] => item 1

                               [1] => item 2

                        )

)

=======================================

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

preg_match输出问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信