정규식 활용 예시

개발공부를해보자·2025년 1월 4일

공부 정리

목록 보기
3/34

아래 내용은 GPT의 도움을 받아 정리한 내용입니다.

정규식 활용 예시

import re  # 정규 표현식 모듈

# 1. 문자열에서 숫자만 추출
# [^0-9]: 숫자가 아닌 모든 문자를 선택 (부정 기호 ^를 사용).
# "" (빈 문자열)로 대체하여 숫자 외의 문자를 모두 제거.
numbers = re.sub(r"[^0-9]", "", "Phone: 123-456-7890")
print(numbers)  # 출력: "1234567890"

# 2. 문자열에서 여러 공백을 하나의 공백으로 변환
# \s: 공백 문자(Space, Tab, Newline 등)를 의미.
# +: 하나 이상의 연속된 공백을 매칭.
# " " (단일 공백)으로 대체하여 모든 연속된 공백을 하나의 공백으로 변환.
single_space = re.sub(r"\s+", " ", "Hello   World!   How   are    you?")
print(single_space)  # 출력: "Hello World! How are you?"

# 3. 특수문자 제거
# [^a-zA-Z0-9]: 알파벳 소문자(a-z), 대문자(A-Z), 숫자(0-9)를 제외한 모든 문자를 선택.
# "" (빈 문자열)로 대체하여 특수문자를 모두 제거.
clean_text = re.sub(r"[^a-zA-Z0-9]", "", "Hello! @World# 2024$")
print(clean_text)  # 출력: "HelloWorld2024"

주요 메타 문자

.findall()
기호설명패턴테스트 문자열결과
.아무 문자 (개행 제외)H.lloHello Halo Hillo['Hello', 'Hillo']
\w단어 문자 [a-zA-Z0-9_]\w+Hi 123_world['Hi', '123_world']
\W단어 문자가 아닌 것\W+Hi 123_world![' ', '!']
\d숫자 [0-9]\d+Order 1234['1234']
\D숫자가 아닌 것\D+Order 1234['Order ']
\s공백 문자\s+Hi there![' ']
\S공백이 아닌 문자\S+Hi there!['Hi', 'there!']
*0회 이상 반복a*baaab['aaab']
+1회 이상 반복a+baaab['aaab']
?0회 또는 1회ab?a ab abb['a', 'ab']
{n}정확히 n회 반복a{3}aa aaaa['aaa']
[abc]a, b, 또는 c[abc]cat bat hat['c', 'a', 'b', 'a']
[^a-z]소문자가 아닌 것[^a-z]a1B#['1', 'B', '#']
profile
개발 공부하는 30대 비전공자 직장인

0개의 댓글