使用分隔符是更好的方式與我有困難理解的preg_match function.An如的preg_match
$subject="XY=abC%3Fedr%3Damp;35"
我想使用的preg_match提取
公元前%3Fed
並存儲在變量中
if(preg_match($pattern, $subject, $matches))
{
$string = $matches[1];
}
echo $string;
這裏有不同的變化,我使用的$模式
我想用@作爲分隔符
@bC(.*?)@
@bC.*[email protected]
我只是不明白爲什麼它不工作,我想什麼是錯的$模式。
請不要使用複雜的正則表達式,並試圖解決我的嘗試,因爲這裏的目的是瞭解preg_match如何工作,以及這裏出了什麼問題。
問候
你怎麼知道它會在$匹配[0] – user2650277
它是第一個也是唯一的*「匹配組」*這就是爲什麼'$匹配[0]'。如果你不確定使用'var_dump($ matches);' – hek2mgl
謝謝關鍵是我想提取bC和r之間的所有字符。在真實情況下,我不知道要提取的字符的確切數量 – user2650277