[python] 정규표현식을 이용한 문자열 검증

정규표현식(Regular Expression)은 문자열 내에서 패턴을 찾거나, 원하는 형식의 문자열을 검증하는 데 사용됩니다. Python에서는 re 모듈을 통해 정규표현식을 지원하고 있습니다. 이번 포스트에서는 Python에서 정규표현식을 이용하여 문자열을 검증하는 방법에 대해 알아보겠습니다.

1. 문자열 패턴 매칭

Python에서는 re.match() 메서드를 사용하여 정규표현식과 문자열이 매칭되는지 확인할 수 있습니다. 다음은 간단한 예제입니다.

import re

pattern = r"ab."  # ab로 시작하고 그 뒤에 아무 문자가 1개 있는 패턴
string = "abcd"

result = re.match(pattern, string)
if result:
    print("매칭되었습니다.")
else:
    print("매칭되지 않았습니다.")

위 코드에서는 ab로 시작하고 그 뒤에 아무 문자가 1개 있는 패턴 ab.abcd라는 문자열을 re.match() 메서드로 확인하고 있습니다. 따라서 출력 결과는 “매칭되었습니다.”입니다.

2. 문자열 패턴 검색

re.search() 메서드를 사용하면 문자열 내에서 정규표현식과 매칭하는 첫 번째 패턴을 찾을 수 있습니다. 다음은 예제 코드입니다.

import re

pattern = r"ab."
string = "abcde"

result = re.search(pattern, string)
if result:
    print("패턴을 찾았습니다.")
    print("매칭된 결과:", result.group())
else:
    print("패턴을 찾지 못했습니다.")

위 코드에서는 ab로 시작하고 그 뒤에 아무 문자가 1개 있는 패턴 ab.abcde라는 문자열을 re.search() 메서드로 검색하고 있습니다. 따라서 출력 결과는 “패턴을 찾았습니다.”와 “매칭된 결과: abc”입니다.

3. 문자열 패턴 대체

re.sub() 메서드를 사용하면 문자열 내에서 정규표현식과 매칭하는 패턴을 다른 문자열로 대체할 수 있습니다. 다음은 예제 코드입니다.

import re

pattern = r"apple"
string = "I like apple."

result = re.sub(pattern, "orange", string)
print(result)

위 코드에서는 apple이라는 패턴과 일치하는 문자열을 orange로 대체하고 있습니다. 따라서 출력 결과는 “I like orange.”입니다.

정규표현식은 매우 강력한 검색 도구로 Python을 비롯한 다양한 프로그래밍 언어에서 널리 사용되고 있습니다. 정규표현식의 더 많은 사용법과 패턴은 Python 공식 문서나 다양한 온라인 자료를 참고하시길 바랍니다.

참고 자료