반응형
개발 하다보면, Regex를 이용해서 패턴 검증을 해야하는 상황이 자주 발생한다. 특히 특정 타입의 문자를 인식할 수 있도록 하는 작업은 종종 있는 일이라고 할 수 있다.
그래서 개발하면서 사용하던 것 중에 가장 일반적인 IIP, SHA256, SHA1, MD5, URL에 대해서 정리해 본다.
#아이피
ip_regex = r"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
#SHA256
sha256_regex = r"[A-Fa-f0-9]{64}"
#SHA1
sha1_regex = r"[A-Fa-f0-9]{40}"
#MD5
md5_regex = r"\b(?!^[\d]*$)(?!^[a-fA-F]*$)([a-f\d]{32}|[A-F\d]{32})\b"
#URL
url_pattern = "^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$"
#URL
url_pattern_none_http = "^[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$"
아래 코드는 IP 가 맞는지를 확인하는 코드이다.
import re
ip_regex = r"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
#사용 예
item = '127.0.0.1'
if bool(re.match(ip_regex, item)):
return True
'Python' 카테고리의 다른 글
Python - 리스트에서 같은 아이템 찾기 List equal item check any/all (0) | 2022.07.20 |
---|---|
Python - 지능형 리스트(List Comprehension) 이해 (0) | 2022.07.15 |
Python - SSL Certificate 에러 해결, Trust Host 자동 지정 (0) | 2022.06.27 |
Python - dateutil parser 문자열 날짜/시간 datetime 으로 변환 (0) | 2022.06.22 |
Python - List Array 중복 제거 set (0) | 2022.06.21 |
댓글0