전화 번호가 존재하는 경우 펄의 알려진 번호 앞에 모든 숫자를 가져 오려고합니다. 대시는없고 숫자 만 있습니다.Perl에서 전화 번호를 파싱하려면 어떻게해야합니까?
예를 들어 줄 번호가 항상 8675309라는 것을 알고 있다고 가정 해 봅니다. 8675309에는 숫자를 캡처하고 싶을 수도 있고 없을 수도 있습니다. 실제로 선행 숫자의 수에는 제한이 없습니다.
$input $digits $number
'8675309' '' '8675309'
'8008675309' '800' '8675309'
'18888675309' '1888' '8675309'
'18675309' '1' '8675309'
'86753091' not a match
/8675309$/
이 하나의 정규식에 미리 자리를 캡처하는 방법과 일치합니다?
왜 정규식을 사용합니까? index() 및 substr() 또는 split()은 어떻습니까? http://www.codinghorror.com/blog/archives/001016.html –
사례가 있으십니까? perl에서 가변 길이 문자열 때문에 중첩 된 if 집합이 훨씬 더 복잡해 지겠지만 두렵습니다. – user210757
http://stackoverflow.com/questions/2055988/how-cani-i-hobbs.htm에 대한 hobbs의 답변보기 국제 전화 번호 비교 (perl-international-phone-numbers-in-perl). –