0
전화 번호를 파싱하는 비교적 간단한 함수를 파이썬에서 작성하려고합니다. 현재 RegEx가 문제를 일으키고 있습니다. 즉, 앞에 오는 0은 생략하고, 계속 유지하려고합니다.RegEx 선행 0을 생략합니다.
어떻게하면 선행 0이 유지되도록 수정할 수 있습니까? 패턴은 또한 마지막에 4 개의 항목을 유지하는데, 이는 바람직하지 않습니다. 마지막 블록의 최대 세 자리 숫자가 필요합니다. - 그것은 작동합니다
phone_number = re.sub(r'(\d{3})', r'\1-', phone_number)
Input: 00112223344
Output: 001-122-233-44
'0'을 제거하지 않으려면 'int'를 사용하지 마십시오. 이것은 정규식과는 아무 관련이 없으며, 도착하기 전에 사라졌습니다. – jonrsharpe
정규 표현식은 선행 0에 대해 아무 것도 수행하지 않습니다. '% d "% int (...)'는 선행 0을 버립니다. – user2357112
알았어요. 마지막 4 블록은 어떨까요? 오른쪽의 마지막 블록이 최대 3 자릿수인지 확인하려면 어떻게해야합니까? – MadPhysicist