[점프 투 파이썬] - 7장 정규 표현식 살펴보기

2023. 7. 13. 00:17·공부/파이썬

 

 

정규 표현식(Regular Expressions) :

복잡한 문자열을 처리할 때 사용하는 기법.

파이썬 포함 문자열을 처리하는 모든 곳에서 사용 (파이썬만의 고유 문법이 아님).

간단히 '정규식'이라고도 부름.

 

 

정규 표현식은 왜 필요한가?

다음과 같은 문제 가정

주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경해 보자.

 

정규식을 모를 경우 : 

  1. 전체 텍스트를 공백 문자로 나눈다(split).
  2. 나뉜 단어가 주민등록번호 형식인지 조사한다.
  3. 단어가 주민등록번호 형식이라면 뒷자리를 *로 변환한다.
  4. 나뉜 단어를 다시 조립한다.
data = """
park 800905-1049118
kim 700905-1059119
"""

result = []
for line in data.split("\n"):
    word_result = []
    for word in line.split(" "):
        if len(word) == 14 and word[:6].isdigit() and word[7:].isdigit():
            word = word[:6] + "-" + "*******"
        word_result.append(word)
    result.append(" ".join(word_result))
print("\n".join(result))

 

정규식을 사용할 경우 :

import re

data = """
park 800905-1049118
kim 700905-1059119
"""

pat = re.compile("(\d{6})[-]\d{7}")
print(pat.sub("\g<1>-*******", data))

코드가 휠씬 간편하고 직관적이다.

찾으려는 문자열 또는 바꾸어야 할 문자열의 규칙이 복잡하다면 정규식의 효용은 더 커진다.

'공부 > 파이썬' 카테고리의 다른 글

[점프 투 파이썬] - 파이썬 초보 탈출 (6 ~ 10)  (0) 2023.07.16
[점프 투 파이썬] - 파이썬 초보 탈출 (1 ~ 5)  (0) 2023.07.14
[점프 투 파이썬] - 6장 하위 디렉터리 검색하기  (0) 2023.07.12
[점프 투 파이썬] - 6장 탭을 4개의 공백으로 바꾸기  (0) 2023.07.12
[점프 투 파이썬] - 6장 간단한 메모장 만들기  (0) 2023.07.12
'공부/파이썬' 카테고리의 다른 글
  • [점프 투 파이썬] - 파이썬 초보 탈출 (6 ~ 10)
  • [점프 투 파이썬] - 파이썬 초보 탈출 (1 ~ 5)
  • [점프 투 파이썬] - 6장 하위 디렉터리 검색하기
  • [점프 투 파이썬] - 6장 탭을 4개의 공백으로 바꾸기
2월2
2월2
  • 2월2
    서벅돌의 성장일기
    2월2
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • TIL (2)
      • Server (28)
        • spring (7)
        • node.js (16)
        • 기타 (5)
      • App&Web (17)
        • Web (1)
        • Android (16)
        • iOS (0)
      • 공부 (59)
        • 깃&깃허브 (3)
        • 파이썬 (17)
        • 유니티 (4)
        • 자료구조 | 알고리즘 (15)
        • 자바 (3)
        • 운영체제 (8)
        • AI와 데이터 (9)
      • 대외활동 (12)
        • NPC 동아리 (1)
        • UMC 동아리 (11)
      • 대학교 (1)
        • 교직 (1)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글 관리
  • 링크

  • 공지사항

    • Notice
  • 인기 글

  • 태그

    파이썬
    java
    코틀린
    kotlin
    Python
    안드로이드
    자바
    mysql
    C
    Unity
    루아
    Lua
    유니티
    Android
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
2월2
[점프 투 파이썬] - 7장 정규 표현식 살펴보기
상단으로

티스토리툴바