이 정규 표현식을 설명 할 수 있습니까?이 정규식은 어떻게 작동합니까?
$price = "...555.55";
$price = preg_replace('/^./', '', $price);
출력 :
$price = ..555.55;
이 정규 표현식을 설명 할 수 있습니까?이 정규식은 어떻게 작동합니까?
$price = "...555.55";
$price = preg_replace('/^./', '', $price);
출력 :
$price = ..555.55;
정규 표현식 '/^./'
은 문자열 시작 부분의 모든 문자와 일치합니다.
dot(.)
는 newline
문자를 제외한 모든 문자와 일치하고,caret(^)
는 시작 부분에 일치하는 데 사용됩니다.따라서 preg_replace
은 시작 부분의 문자를 빈 문자열로 바꿉니다. 따라서 .
을 바꾼 후에 ...555.55
은 ..555.55
이됩니다.
처음부터 모두 dots(.)
을 바꾸려면 정규식에서 .
을 탈출해야합니다. .
을 단순히 사용하면 어떤 문자와도 일치합니다. 또한 dots(.)
을 바꾸려면 일부 한정 기호 -또는 +
을 사용해야합니다.
그래서, 당신의 정규식은 다음과 같습니다
preg_replace('/^[.]+/', '', $price);
나 :
preg_replace('/^\.+/', '', $price);
/^./
문자열의 시작 후 첫 번째 문자와 일치합니다.
/
및 /
은 정규식으로 구분됩니다.^
은 줄 바꿈이없는 한.
과 일치합니다.일치하는 항목은 빈 문자열 (''
)로 대체됩니다. 처음 세 문자를 바꾸려면
: 당신은 문자열의 시작에 모든 점을 바꾸려면
$price = preg_replace('/^.{3}/', '', $price);
을, 당신이 그들을 탈출 "을 의미한다 (+
을 한정 기호를 적용하거나 필요) "더 :
$price = preg_replace('/^\.+/', '', $price);
더 적합 할 수 있습니다 문자열의 시작()에서 모든 비 숫자를 바꾸려면 :
$price = preg_replace('/^\D+/', '', $price);
을 내가 먼저 교체하려는 경우 그 ............에만 첫번째 charater를 교체하는 방법 3 char na ........ –
'^ .' regex는 처음에 한 문자 만 찾습니다. 수량 한정 기호를 사용하지 않았으므로 그래서 첫 번째 문자를 대체합니다. –
@Malai .. 처음에는 모든 도트를 바꾸고 싶은 것처럼 보입니다.', 점과 일치시킵니다. 그래서 당신의 정규식은 다음과 같습니다 : -'/^[.]++/','' "'로 대체하십시오. '/^./'만 사용할 때,'.'는 어떤 것과도 매치하기 때문에 처음부터'X'를 대체합니다. 'dot (,)'만 바꾸려면 이스케이프하거나 문자 클래스를 사용할 수 있습니다. –