2009-11-18 6 views

답변

4

시도 :

$itemList[] = preg_replace('/-(.*)$/i', "", $temp['item']); 

은 $ 기호가 입력의 끝을 일치는, 그래서 강제로 * 끝으로 잡아..

? *가 욕심을 느끼지 않게 만든 후에 가능한 한 최대량이 아니라 가능한 한 최소값을 얻게됨을 의미하므로이 경우 정확하게 원하지 않는 값입니다.

+2

실제로 '?'를 제거하면 충분합니다. '. *'는 탐욕스럽고 가능한 한 많이 일치합니다. 그래도 어느 쪽이든 작동합니다. – Kobi

2

왜 욕심이 많지 않은 *?을 사용하고 계셨습니까?

또한, 포착 괄호는 불필요했다.