Lnwdbgz8cnyihh50xv8v
레이지
  • 2016.4.18 02:22
  • 조회수 83
  • 답변수 1
Lnwdbgz8cnyihh50xv8v
레이지
  • 2016.4.18 02:22
  • 조회수 83
  • 답변수 1

여기선 숫자가 이어서나오네요?

바로 이전 단계에서는 +를 써서 숫자들이 이어서 나오도록 했는데
여기서는 +를 안써도 숫자가 이어서 나오네요?

어떻게 된건가요

regex.py
regex = r'\d{2,3}[- ]?\d{3,4}[- ]?\d{4}'

search_target = '''이상한 전화번호 0030589-5-95826
Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''

#아래 부분은 본 강의에서 다루지 않습니다.
import re
result=re.findall(regex,search_target)
print(result)
  • #정규표현식
  • #n~m번

1 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.18 09:38

    \d+는 1개 이상의 이어진 숫자를 의미합니다. \d{2,3}은 길이가 2~3인 이어진 숫자를 의미하구요.
    r'\d{2,3}[- ]?\d{3,4}[- ]?\d{4}'의 경우 [- ]?는 있거나 없거나이기 때문에 \d{2,3}\d{3,4}\d{4}의 경우도 해당합니다. 그러면 길이가 9~11사이인 숫자도 나올 수 있지요.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.