문자열에서 십진수를 두 소수점으로 변경하려고합니다. 정규식은 잘 일치하는 것 같습니다. 문제는 교체 문제입니다. | 내가을 원하는 진수를 출력preg_match 괄호 안의 패턴
$input_lines = "-33.873293252 151.201538015999972,-33.873175 151.201689183999946";
print preg_replace("/[0-9]+(\.[0-9][0-9]?)?/", "$0 $2", $input_lines);
:
이
내 코드입니다 내가을 원하지 않는 립니다 소수는 :-33.87 3293252 151.20 1538015999972 ,-33.87 3175 151.20 1689183999946
그래서 나는 replacement
$0
에 변경했습니다. 하지만 지금은 작동을 중지 교체하고 대신에 저를주고있다 : -33.873293252 151.201538015999972,-33.873175 151.201689183999946
이 나에게 원하는 출력을 제공하므로 어떻게 내 정규 표현식을 다시 쓸 수 있습니까?
예상되는 출력은 무엇입니까? 정규 표현식에 단일 캡쳐 그룹이 포함되어 있으므로'$ 2'는 어디에서 오는가요? –
'/ [\ s,] /'와'round (number, 2)'는 각각 어리석은 편이라고 생각하니? –