πŸ’Ύ
Home
  • λΆ„λ₯˜ 전체보기 (54)
    • πŸ“šSTUDY (51)
      • πŸ‘“hololens&MRTK (4)
      • πŸ“œ3D slicer&DICOM&ImageJ (0)
      • πŸ‘€ coding testλŒ€λΉ„ (4)
      • πŸ”₯Pytorch ML&DL (14)
      • πŸ’Ύμžλ£Œκ΅¬μ‘° (3)
      • 🎫Dart&Flutter (6)
      • πŸŽ‡λ‹€ν• (dafit.me) (12)
      • CUDA (1)
      • Etc (7)
    • πŸ“ƒPAPER (2)
    • πŸ€DAILY (1)
Home
  • λΆ„λ₯˜ 전체보기 (54)
    • πŸ“šSTUDY (51)
      • πŸ‘“hololens&MRTK (4)
      • πŸ“œ3D slicer&DICOM&ImageJ (0)
      • πŸ‘€ coding testλŒ€λΉ„ (4)
      • πŸ”₯Pytorch ML&DL (14)
      • πŸ’Ύμžλ£Œκ΅¬μ‘° (3)
      • 🎫Dart&Flutter (6)
      • πŸŽ‡λ‹€ν• (dafit.me) (12)
      • CUDA (1)
      • Etc (7)
    • πŸ“ƒPAPER (2)
    • πŸ€DAILY (1)
λΈ”λ‘œκ·Έ λ‚΄ 검색
GitHub

πŸ’Ύ

AtoZ; μ²˜μŒλΆ€ν„° λκΉŒμ§€ κΈ°λ‘ν•˜λ €κ³  λ…Έλ ₯ν•©λ‹ˆλ‹€βœ

  • πŸ“šSTUDY/πŸŽ‡λ‹€ν• (dafit.me)

    [DF905] 01. Telephone Number

    2020. 2. 26.

    by. ν•΄λŠ”μ„ 

    01. Telephone Number

    http://www.dafit.me/question/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6MTt9&bmode=view&idx=2643277&t=board

     

    [DF905] Regular Expression (μ •κ·œ ν‘œν˜„μ‹) : 닀핏, λ°μ΄ν„°μ‚¬μ΄μ–ΈμŠ€ μ—°μŠ΅λ¬Έμ œ

    πŸ”₯ 문제 μ„€λͺ…μ‹€λ¬΄μ—μ„œ ν•„μˆ˜μ μœΌλ‘œ μ“°μ΄λŠ” μ •κ·œν‘œν˜„μ‹μ˜ 기초λ₯Ό 두 κ°€μ§€ μ‚¬λ‘€λ‘œ μ΅νžŒλ‹€.μžμ—°μ–΄ 처리 κ΄€λ ¨ 직ꡰ의 μ½”λ”© ν…ŒμŠ€νŠΈμ—μ„œλ„ μ •κ·œν‘œν˜„μ‹ λ¬Έμ œλŠ” 자주 λ“±μž₯ν•œλ‹€. πŸ”₯ μΆ”μ²œ λŒ€μƒμžμ—°μ–΄ 처리λ₯Ό κ³΅λΆ€ν•˜κ³ μž ν•˜λŠ” μ‚¬λžŒ.μžμ—°μ–΄ 처리λ₯Ό κ³΅λΆ€ν•˜κ³  μžˆμ§€λ§Œ μ „μ²˜λ¦¬ μ—°μŠ΅μ΄ λΆ€μ‘±ν•œ μ‚¬λžŒ.μ •κ·œν‘œν˜„μ‹λ§Œ λ‚˜μ˜€λ©΄ μžμ‹ μ΄ μ—†λŠ” μ‚¬λžŒ.νŒŒμ΄μ¬μ„ μ΄μš©ν•œ μ •κ·œν‘œν˜„μ‹ μ—°μŠ΅μ„ ν•˜κ³  싢은 μ‚¬λžŒ.πŸ”₯ ν•™μŠ΅ λͺ©ν‘œμ •κ·œ ν‘œν˜„μ‹μœΌλ‘œ λ°μ΄ν„°μ˜ λ‹€μ–‘ν•œ κ·œμΉ™μ„ ν‘œν˜„ν•  수 μžˆλ‹€.데이터λ₯Ό μ •κ·œ ν‘œν˜„μ‹μ„ μ΄μš©ν•΄μ„œ μ „μ²˜λ¦¬

    www.dafit.me

     

     

    μ € 3개의 포맷에 λ§žλŠ” μ „ν™”λ²ˆν˜Έλ₯Ό REPLACEPHONE 으둜 μΉ˜ν™˜ν•΄μ•Ό ν•˜λŠ” λ¬Έμ œλ‹€.

     

    import re

    일단 μ •κ·œ ν‘œν˜„μ‹μ„ λ§Œλ“€κΈ° μœ„ν•΄, reλ₯Ό import ν•΄μ€€λ‹€.

     

    그리고 κ·Έλ‹€μŒ, 각각 μ‹œλ‚΄, μ„œμšΈ, 기타 μ§€μ—­μ˜ νŒ¨ν„΄μ„ λ§Œλ“€μ–΄ μ£Όμ–΄μ•Ό ν•œλ‹€. λ¨Όμ € μ‹œλ‚΄λ₯Ό 보자.

     

    (N)XXX-XXXX

     

    N은 3λΆ€ν„° 9κΉŒμ§€μ˜ 숫자이고 XλŠ” 0λΆ€ν„° 9κΉŒμ§€μ˜ 숫자인데, 첫 번째 μžλ¦¬κ°€ μžˆμ–΄λ„ 되고 없어도 λœλ‹€.

     

    sinae = re.compile(r'[3-9]?\d{3}[-]\d{4}$') 

    κ·Έλž˜μ„œ λ²”μœ„κ°€ 3-9인 N은 [3-9]둜 λ‚˜νƒ€λ‚΄μ—ˆκ³ , μžˆμ–΄λ„ 되고 없어도 λ˜λ‹ˆκΉŒ ? λ₯Ό λΆ™μ—¬ μ£Όμ—ˆλ‹€.

    λ’€μ˜ X듀은 λ²”μœ„κ°€ 0-9λΌμ„œ 숫자λ₯Ό λ‚˜νƒ€λ‚΄λŠ” \dλ₯Ό μ΄μš©ν–ˆκ³ , 무쑰건 3자리, 4자리 μ—¬μ•Ό ν•˜λ‹ˆκΉŒ { }둜 반볡 λ²”μœ„λ₯Ό μ •ν•΄ μ£Όμ—ˆλ‹€. λ˜ν•œ, λ°±μŠ¬λž˜μ‰¬λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ λ¬Έμžμ—΄ μ•žμ— r을 ν‘œκΈ°ν•΄ μ£Όμ—ˆλ‹€.

    그리고 7자리, ν˜Ήμ€ 8μžλ¦¬κ°€ λ§ˆμ§€λ§‰μ΄λΌλŠ” 것을 λ‚˜νƒ€λ‚΄λ €κ³  $λ₯Ό μ‚¬μš©ν•΄ λ¬Έμžμ—΄μ˜ λμž„μ„ ν‘œκΈ°ν–ˆλ‹€.

     

    λ‹€μŒμ€ μ„œμšΈμ΄λ‹€.

     

    02-(N)XXX-XXXX

     

    seoul = re.compile(r'02[-][3-9]?\d{3}[-]\d{4}$') 

    '02-'λŠ” 무쑰건 λ‚˜μ™€μ•Ό ν•œλ‹€. κ·ΈλŸ¬λ―€λ‘œ 02λ₯Ό κ·Έλƒ₯ λ„£μ–΄ μ£Όμ—ˆλ‹€. 뒷뢀뢄은 μ‹œλ‚΄μ™€ κ°™λ‹€.

     

    λ‹€μŒμ€ 기타 지역이닀.

     

    0NX-(N)XXX-XXXX

     

    other = re.compile('0[3-9]\d[-][3-9]?\d{3}[-]\d{4}$')

    μ•žμ˜ 0NX도 무쑰건 ν•œ λ²ˆμ”© λ‚˜μ™€μ•Ό ν•˜λ―€λ‘œ 0 [3-9] \d둜 λ‚˜μ™€μ•Ό 함을 μ•Œλ €μ£Όμ—ˆλ‹€.

     

     

    ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ 데이터 셋을 λ§Œλ“€μ—ˆλ‹€.

    data = ["210-7979", '02-210-2929', '02 290-2100', '031-210-2929',
            '021-310-2929', '210-999', '2109-999', '030-3333-3333']

     

    그리고 필터에 κ±Έλ¦°λ‹€λ©΄ REPLACEPHONE으둜 μΉ˜ν™˜ν•˜κ³ , μ•„λ‹ˆλ©΄ κ·Έλƒ₯ 좜λ ₯λ˜λ„λ‘ ν–ˆλ‹€.

    for i in data:
        if sinae.match(i) or seoul.match(i) or other.match(i):
            print("REPLACEPHONE")
        else:
            print(i)

     

     

    전체 μ½”λ“œλ‹€.

    import re
    
    sinae = re.compile(r'[3-9]?\d{3}[-]\d{4}$')
    seoul = re.compile('02[-][3-9]?\d{3}[-]\d{4}$')
    other = re.compile('0[3-9]\d[-][3-9]?\d{3}[-]\d{4}$')
    
    data = ["210-7979", '02-210-2929', '02 290-2100', '031-210-2929',
            '021-310-2929', '210-999', '2109-999', '030-3333-3333']
            
    for i in data:
        if sinae.match(i) or seoul.match(i) or other.match(i):
            print("REPLACEPHONE")
        else:
            print(i)

    잘 좜λ ₯ λœλ‹€.


    μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

    'πŸ“šSTUDY > πŸŽ‡λ‹€ν• (dafit.me)' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    [DF905] 02. YYYY-MM-DD  (0) 2020.02.26
    [DF913] 10. μ „ν™”λ²ˆν˜Έ μ „μ²˜λ¦¬  (0) 2020.02.25
    [DF913] 09. λ¬Έμžμ—΄ ν•„ν„°  (0) 2020.02.11
    [DF913] 08. μ•ŒνŒŒλ²³ λ””μ½”λ”©  (0) 2020.02.11
    [DF913] 07. 별찍기 ν˜Όν•©  (0) 2020.02.11

    λŒ“κΈ€

    κ΄€λ ¨κΈ€

    • [DF905] 02. YYYY-MM-DD 2020.02.26
    • [DF913] 10. μ „ν™”λ²ˆν˜Έ μ „μ²˜λ¦¬ 2020.02.25
    • [DF913] 09. λ¬Έμžμ—΄ ν•„ν„° 2020.02.11
    • [DF913] 08. μ•ŒνŒŒλ²³ λ””μ½”λ”© 2020.02.11
    맨 μœ„λ‘œ
전체 κΈ€ 보기
Tistory 둜그인
Tistory λ‘œκ·Έμ•„μ›ƒ
λ‘œκ·Έμ•„μ›ƒ κΈ€μ“°κΈ° 관리

Today

Total

μ‘°κΈˆμ”© 천천히

Designed by Nana
λΈ”λ‘œκ·Έ 이미지
ν•΄λŠ”μ„ 
기둝을 남기렀고 λ…Έλ ₯ν•©λ‹ˆλ‹€

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”