티스토리 뷰

정규표현식 (Regular Expression)

복잡한 문자열을 처리할 때 사용하는 방법
(python 만의 문법이 아니라 문자열을 처리하는 모든 곳에서 사용됨)

표현식 의미
^x 시작
x$
x+ (1회 이상) 반복된다
x? 1회 or 0회
x{n} n번 반복
x{n, m} n~m 번 반복
x{n, } n번 이상 반복
[a-c] a~c 까지의 문자

 

파이썬(python)에서 정규표현식 활용하기

파이썬에서 기본 제공하는 re 모듈 활용

 

import re

reg = "^[a-z]{3}[0-9]{3}$"   # 정규표현식
str = input("확인할 문자열 : ")

re.match(reg, str)   # 문자열이 정규식과 일치하는지 확인 => 일치하면 str, 불일치하면 none

re. search(reg, str)   # 문자열에 정규식과 매치되는 부분이 있는지 확인

 

EX 1 - 주민등록번호

1. input : 주민등록번호를 입력받는다.

2. re : 입력받은 문자열이 '주민등록번호 형식'인지 확인한다.

3. if : 뒷자리 첫번호가 3, 4일 때, 앞자리 첫번호가 0~2인지 확인한다.

4. while : 옳지 않은 형식을 입력했을 경우 "틀렸음"을 알려주고, 다시 입력하게 한다.

import re

reg = "^[0-9]{2}[0-1][0-9][0-3][0-9]-?[1-4][0-9]{6}$"
keep = True

while keep :
	user_input = input("주민등록번호 입력 : ")
	if bool(re.match(reg, user_input):
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함