正則表達式匹配的一般結果會包括你所有匹配的內容,但是有些的匹配內容不是我們全部要的,例如我們要陪陪的文字源是“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"。
2017-07-25
正則表達式匹配的一般結果會包括你所有匹配的內容,但是有些的匹配內容不是我們全部要的,例如我們要陪陪的文字源是“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
???????????????? ? ? ?? )
)
=======================================