반응형
(python)정규표현식 예제로 이해하기
정규식은 일련의 규칙을 이용해서 검색이나 잘못된 양식을 선별할 때 사용한다. 아래 예제들을 통해 기본적인 정규 표현식을 이해해 보자
참고사항(역슬래시 + 문자)
\d : [0-9]와 동일
\D : [^0-9]와 동일
\w : [a-zA-Z0-9_]와 동일
\W : [^a-zA-Z0-9_]와 동일
아이디(ID) Regular Expression
[ - ] 안은 범위를 의미한다.
예를 들어 [a - c] 는 a,b,c를 가능하게 보는 것이다.
[A-za-z]는 소문자 대문자 모두 가능하다.
{5,15} 는 최소 5개~15개 반복되어야 한다.
코드>>
import re
ID_regex = re.compile("([A-za-z]{5,15})")
ID_input = input("아이디를 입력하세요 (최소5자에서 15자, 시작은 영어문자로해야함): ")
ID_validation = ID_regex.search(ID_input.replace(" ",""))
if ID_validation:
print("It's vaild")
else:
print("It's invaild")
결과>>
아이디를 입력하세요 (최소5자에서 15자, 시작은 영어문자로해야함): hello123
It's vaild
이메일(email) 정규표현식으로 검사하기
[ - ] 안은 범위를 의미한다.
예를 들어 [a - c] 는 a,b,c를 가능하게 보는 것이다.
+ 는 1개 이상을 의미한다.
역슬래시 점 으로된 \. 는 원래 .은 어떤값이든 받는 건데 그냥 점을 쓰고 싶을 경우 역슬래시를 같이 써주면 된다.
코드>>
import re
email_regex = re.compile("([A-Za-z]+[A-Za-z0-9]+@[A-Za-z]+\.[A-Za-z]+)")
# email_regex = re.compile("(\.)")
email_input = input("이메일을 입력하세요 (ex: abc0123@gmail.com)): ")
email_validation = email_regex.search(email_input.replace(" ",""))
if email_validation:
print("It's vaild")
else:
print("It's invaild")
결과>>
이메일을 입력하세요 (ex: abc0123@gmail.com)): abc123@abc.com
It's vaild
전화번호 정규표현식
^(01) 꺽쇠는 01로 시작해야한다는 뜻이고
\d{1} 은 정수로 하나를 받는거고 {3,4}는 3~4개를 받는 것이다.
코드>>
import re
phone_regex = re.compile("^(01)\d{1}-\d{3,4}-\d{4}$")
# email_regex = re.compile("(\.)")
phone_input = input("전화번호를 입력하세요 (ex: 010-123-1234)): ")
phone_validation = phone_regex.search(phone_input.replace(" ",""))
if phone_validation:
print("It's vaild")
else:
print("It's invaild")
결과>>
전화번호를 입력하세요 (ex: 010-123-1234)): 011-1234-1234
It's vaild
포트(Port) 범위 입력 받기
[ - ] 안은 범위를 의미한다.
예를 들어 [a - c] 는 a,b,c를 가능하게 보는 것이다. [0 - 9] 는 0~9사이 모든 수가 가능한것이다.
+ 는 반복으로 한번이상 반복 가능한것이다.
코드>>
import re
port_regex = re.compile("([0-9]+)~([0-9]+)")
port_input = input("포트 범위를 입력하세요 (EX:0~65535): ")
port_validation = port_regex.search(port_input.replace(" ",""))
if port_validation:
print("It's vaild")
else:
print("It's invaild")
결과>>
포트 범위를 입력하세요 (EX:0~65535): 0~300
It's vaild
반응형
'파이썬(Python) > 문법' 카테고리의 다른 글
Python 파일 (한글 포함) 읽어서 동일한 문장 개수 카운트 하기 (0) | 2021.10.12 |
---|---|
분산, 표준 편차란? 파이썬으로 쉽게 계산하기 (예제로 이해하기) (0) | 2021.10.02 |
파이썬 문장(string)을 왼쪽, 오른쪽 끝에 배치하고 싶을 때 (":>" 와 ":<"의 의미, 여백 넣기) (0) | 2021.08.05 |
파이썬 List 최대, 최소 값 차이 구하기 (feat. 파이썬 동작 시간 측정으로 가장 빠르게 구하는 방법은?) (0) | 2021.07.22 |
파이썬 @staticmethod 란? (예제로 이해하기, 골뱅이마크 의미) (0) | 2021.07.01 |