[python] 문자열 매칭을 위한 정규표현식
정규표현식은 문자열 매칭을 위해 사용되는 강력한 도구입니다. 파이썬에서는 re
라이브러리를 사용하여 정규표현식을 처리할 수 있습니다.
정규표현식 기본 문법
정규표현식은 패턴을 표현하는 문자열입니다. 다음은 정규표현식에서 사용되는 기본적인 문법입니다.
.
: 임의의 한 문자와 매치[]
: 대괄호 안의 문자 중 하나와 매치*
: 바로 앞의 문자가 0번 이상 반복되는 것과 매치+
: 바로 앞의 문자가 1번 이상 반복되는 것과 매치?
: 바로 앞의 문자가 0번 또는 1번 나타나는 것과 매치\d
: 모든 숫자와 매치\D
: 숫자가 아닌 것과 매치\w
: 문자나 숫자와 매치\W
: 문자나 숫자가 아닌 것과 매치\s
: 공백문자와 매치\S
: 공백문자가 아닌 것과 매치
위의 기본적인 문법 외에도 다양한 패턴을 표현할 수 있습니다.
정규표현식 사용 예시
숫자 매칭
import re
pattern = r"\d+" # 한 개 이상의 숫자와 매치하는 패턴
text = "abc 123 def 456"
result = re.findall(pattern, text)
print(result) # ['123', '456']
이메일 주소 매칭
import re
pattern = r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b" # 이메일 주소와 매치하는 패턴
text = "Email: user@example.com, admin@gmail.com"
result = re.findall(pattern, text)
print(result) # ['user@example.com', 'admin@gmail.com']
URL 확인
import re
pattern = r"^https?://[\w\.-]+\.\w+$" # URL과 매치하는 패턴
urls = ["http://www.example.com", "https://google.com", "ftp://ftp.example.com"]
for url in urls:
if re.match(pattern, url):
print(f"{url}: Valid URL")
else:
print(f"{url}: Invalid URL")
정규표현식으로 문자열 매칭 활용하기
정규표현식은 문자열을 검색하거나 원하는 형태로 변환하는 등의 다양한 용도로 활용될 수 있습니다. 파이썬의 re
라이브러리를 사용하여 정규표현식을 처리하면 더욱 편리하게 활용할 수 있습니다.
더 자세한 정보는 파이썬 공식 문서를 참고하시기 바랍니다.