2014-10-30 1 views
1

만약 내가 가지고 있다면PHP Regex에서 0을 앞세워 셀 수 있습니다.

$ num = '00000567';

PHP의 preg match 또는 split을 사용하여 0을 나눌 수 있으므로 0을 세거나 계산할 수 있으며 정규 표현식을 반환 할 수 있습니다. 그물 0의 선도에 대한 거의 안타를 가지고있는 사람이 나를 도와 주로 그들은 그냥 빈 문자열로 '0'이 아닌 대체 할 수

+0

숫자가 모두 0이거나 앞자리가 0입니까? 예 : '001' (2 선행) vs. '010'(1 제로 선도). –

답변

1

을 제거하는 방법에 대한있어 수 :

$repl = preg_replace('/[^0]+/', '', $num); 
//=> 00000 

을 OR로 preg_match를 사용 일치 제로 전용 :

if (preg_match('/^0+/', $num, $m)) 
    echo $m[0]; 
+1

놀라운 불가사의!/^ 처음의 0과 일치하고 +는 숫자를 얻지 않고 나머지를 얻습니다. regex가 자체적으로 생성 한 반면 preg 함수의 정확한 출력 함수를 기억하는 것은 어렵습니다. 누군가가 원하는지 알면 좋을 것입니다. 이것은 일부 정규 표현식을 새로 고치는 좋은 알림입니다! 타이 타이 – JSG

1

대신 regex 당신은 ltrim()를 사용할 수 있습니다. 예 :

$num = '00000567'; 
$new_num = ltrim($num, '0'); // $new_num = 567 
$zeros = strlen($num) - strlen($new_num); 
echo $zeros; //5 
관련 문제