반응형
파이썬 정규식 패턴 예제
글. 수알치 오상문
import re
# 허용하는 글자로만 이루어진 패턴
reg1 = re.compile("^[a-zA-Z0-9+-_.!@#$%^&*()]+$") # 허용하는 글자 패턴
# 해당하는 글자로 시작해서 끝 글자까지 모두 같은 패턴인 경우
if reg1.match("abcd!@#$123") != None: # 패턴 일치하면
print("정규식에 맞습니다.") # 출력
else:
print("정규식과 다릅니다.")
if reg1.match("abcd'") != None:
print("정규식에 맞습니다.")
else:
print("정규식과 다릅니다.") # 출력 : 작은 따옴표는 금지 대상
# 이메일 정규식 패턴
p = re.compile( '^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')
emails = ['python@mail.example.com', 'python+kr@example.com', # 올바른 형식
'python-dojang@example.co.kr', 'python_10@example.info', # 올바른 형식
'python.dojang@e-xample.com', # 올바른 형식
'@example.com', 'python@example', 'python@example-com'] # 잘못된 형식
for email in emails:
print(p.match(email) != None, end=' ')
print()
# 한글로만 이루어진 패턴
reg = re.compile('^[ㄱ-힣]+$') # 한글로만 이루어진 패턴
if reg.match("한글abcd") != None: # 패턴 일치하면
print("정규식에 맞습니다.")
else:
print("정규식과 다릅니다.") # 출력
if reg.match("한글입니다") != None: # 패턴 일치하면
print("정규식에 맞습니다.") # 출력
else:
print("정규식과 다릅니다.")
# 전화번호가 포함되었는가 : '([0-9]{4})-([0-9]{2})-([0-9]{2})'
# 전화번호 형식과 일치하는가: '^([0-9]{4})-([0-9]{2})-([0-9]{2})$'
줄임 표현
- \d : 숫자인 경우, [0-9]와 같다
- \D: 숫자가 아닌 경우, [^0-9] 와 같다.
- \s: 공백 문자인 경우. 띄어쓰기나, 탭 (\t ), 새로운 줄(\n, \r)인 경우
- \S : 공백 문자가 아닌 경우
- \w: 숫자 및 알파벳 문자인 경우. [a-zA-Z0-9_] 와 같다
- \W: 숫자 및 알파벳 문자가 아닌 경우. [^a-zA-Z0-9_] 와 같다
메타문자 : 기능을 수행하는 문자
. ^ $ * + ? \ | ( ) { } [ ]
반응형
'Python 기초' 카테고리의 다른 글
파이썬, 휴대폰 번호 유효성 검사(일반 구현과 정규 표현식) (0) | 2021.06.03 |
---|---|
파이썬, 소수 구하는 특이한 방법 (0) | 2021.05.18 |
Python Developer’s Guide (0) | 2021.04.04 |
파이썬, 다이나믹(동적) 프로그래밍 동영상 (0) | 2021.04.03 |
파이썬, DFS, BFS 코드와 동영상 (0) | 2021.04.01 |