[파이썬] 정규 표현식의 여러 줄 매칭(re.MULTILINE)

정규 표현식(Regular Expressions)은 문자열에서 패턴을 찾거나 매칭하는데 사용되는 강력한 도구입니다. Python에서는 re 모듈을 사용하여 정규 표현식을 처리할 수 있습니다. 여러 줄에 걸쳐 매칭을 수행해야 하는 경우, re.MULTILINE 플래그를 사용할 수 있습니다.

re.MULTILINE 플래그란?

re.MULTILINE 플래그는 정규 표현식에서 여러 줄을 매칭하기 위해 사용됩니다. 기본적으로 정규 표현식은 문자열의 첫 줄과 끝 줄에서만 매칭을 수행합니다. 하지만 re.MULTILINE 플래그를 사용하면 여러 줄에서 매칭을 수행할 수 있습니다.

예제 사용법

다음은 re.MULTILINE 플래그를 사용하여 여러 줄에서 패턴을 매칭하는 예제 코드입니다:

import re

# 여러 줄을 포함하는 문자열 정의
text = """
Hello
World
"""

# 정규 표현식 패턴 정의
pattern = r"^Hello$"

# re.MULTILINE 플래그와 함께 패턴 매칭 수행
matches = re.findall(pattern, text, flags=re.MULTILINE)

# 매칭된 결과 출력
for match in matches:
    print(match)

위 예제에서는 문자열 text에 여러 줄이 포함되어 있습니다. 정규 표현식 패턴 ^Hello$은 문자열의 첫 줄과 끝 줄에 “Hello”라는 문자열이 있는지 확인합니다. re.MULTILINE 플래그를 사용하여 findall 함수가 여러 줄에서 매칭을 수행하도록 지정하였습니다.

실행 결과로 “Hello”가 출력됩니다.

결론

re.MULTILINE 플래그를 사용하면 정규 표현식에서 여러 줄을 매칭하는 것이 가능해집니다. 이를 활용하면 복잡한 패턴을 갖는 문자열을 효과적으로 검색하거나 대체할 수 있습니다. Python의 re 모듈을 사용하여 정규 표현식을 다룰 때 re.MULTILINE 플래그를 적절히 활용해보세요.