2013-12-11 1 views
0

단위를 반복하지 않는 정규식 프로그램을 작성하려고합니다. 유닛을 캡처하고 싶습니다. 여기 CM입니다.

<?php 
$match = '4 CM,6.5 CM,8 CM,9.6 cm and 10 CM'; 
if(preg_match('/\d+\s?(\w+)(?!$)/i',$match)) 
{ 
$out = preg_replace('/ $1(?!$)/i', '', $match); 
echo $out; 
} 
?> 

샘플 입력 :

4 CM,6.5 CM,8 CM,9.6 cm and 10 CM 

출력 :

4,6.5,8,9.6 and 10 CM 

저를 도와주세요.

+0

오! 당신은 ** 동일한 유닛이 모든 용어에 사용되었고 ** 마지막의 것을 제외하고 모든 것을 제거했음을 ** 감지하고 싶습니다. 흥미 롭 군. –

답변

0

정확한 방법을 찾았습니다. preg_match에서 $ matches를 추가합니다. 이것은 배열입니다.

preg_match('/ \d+\s?\.?(\w+)?/',$match, $matches); 
$out = preg_replace('/'.$matches[1].'(?!$)/', '', $match); 

인쇄시 $ matches [1]는 cm을 포함합니다.

Array ([0] => 10 cm [1] => cm) 
관련 문제