2016-09-25 1 views
0

파이썬 버전의 Google libphonenumbers를 사용하고 있습니다.하지만 다른 텍스트에서이 라이브러리를 사용해 보았을 때 파이썬 함수가 나에게 아무것도 반환하지 않을 때가 있습니다. 거기 전화 번호가 있고 때로는 그들이 전화 번호를 반환합니다. 아래를 참조하십시오 :파이썬 : libphonenumber - 명백한 전화 번호를 추출 할 수 없습니다

print(x2) 
for match in pnum.PhoneNumberMatcher(x2, "US"): 
print(match) #for the text above, it did not get the number 

출력 :

I just read your profile and thought it was really great. I also thought you were cute and loved the fact that you go hiking with your brothers every summer. If you want to know anything more about me, just ask. My num 555-121-5468. 

이상이 텍스트로를, 그것은 나에게 어떤 전화 번호를 반환하지 않습니다. 그러나 다음과 같은 다른 상황에서,이 기능은 나에게 올바른 입력 제공 :

x9 = "hay I hate to cut you short, its been fun chatting, but unfortuantely I gotta run. I am gald we became friends though. my number is (323) 2387890" 

for match in pnum.PhoneNumberMatcher(x9, "US"): 
print(match) 

출력 : 나는 문제가이 문제를 일으키는 모르는

PhoneNumberMatch [132,145) (323) 2387890 

, 내가 파이썬에 새로운 오전을 이 도서관은 통찰력을 진심으로 감사 할 것입니다.

답변

1

555-121-5468은 유효한 미국 전화 번호와 비슷하지만 실제로는 그렇지 않습니다.

PhoneNumberMatcher 클래스 constructor은 클래스가 후보 전화 번호 (code)와 얼마나 엄격하게 일치하는지 정의하는 leniency 인수를 허용합니다. 이 인수의 가능한 값 기본값 인 leniency은 유효한 전화 번호와 일치하는 1입니다. 0으로 변경하면 555-121-5468과 같은 가능한 전화 번호와 일치합니다.

>>> for match in pnum.PhoneNumberMatcher(x2, 'US', leniency=0): 
print(match) 
... 
PhoneNumberMatch [220,232) 555-121-5468 

접두사 555는 실제 접두사가 아니지만 미국 TV 및 영화의 허구의 전화 번호로 사용됩니다. Wikipedia에서 : 접두어

전화 번호 (555)는 널리 귀찮게에서 실제적인 농담과 호기심 발신자를 방지하기 위해 북미 TV 프로그램, 영화, 비디오 게임 및 기타 미디어에서 가상 전화 번호에 사용됩니다 실제 사람들과 조직 허구의 작품에서 그들이 전화 번호를 전화; 일반적으로 북쪽에있는 미국의 경우 접두어로 555가있는 숫자는 실제 사람과 연결되지 않습니다.

관련 문제