有人請給我一個手。爲什麼我收到下面的輸出簡單的正則表達式模式
$pattern = "#([a-z])*|(chol)#";
preg_match($pattern, 'chol',$m);
print_r($m) // array
(
[0]=> 'chol',
[1]=> 'l'
)
爲什麼第一個匹配的子捕獲只有l
字符,而全場比賽是chol
。可能是我錯過了一些東西。 我期待下面
array
(
[0]=> 'chol',
[1]=> 'chol'
)
這個輸出,我不認爲該模式過於複雜迷惑我。
我想你想在'preg_replace_callback'中進一步處理結果。請參閱下面的答案,它解釋了爲什麼您需要量化組內原子而不是組本身,並且交替的順序很重要。 –