[파이썬] 문자열의 정규식 매칭 여러 줄 처리

정규식(Regular Expression)은 문자열 패턴을 찾거나 변경하기 위한 강력한 도구입니다. 하지만 여러 줄로 이루어진 문자열에서 정규식을 적용하는 방법에 대한 이해가 필요합니다.

Python에서는 re 모듈을 사용하여 정규식을 처리할 수 있습니다. 여러 줄로 이루어진 문자열에서 정규식 매칭을 수행하기 위해서는 다음과 같은 옵션을 사용해야 합니다.

import re

# 여러 줄로 이루어진 문자열
multiline_string = '''
Hello, World!
This is a multiline string
Regex matching.
'''

# 정규식 패턴
pattern = r'Hello,\s\w+!'

# 정규식 매칭 수행
matches = re.findall(pattern, multiline_string, re.MULTILINE)

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

위의 예제에서는 re.MULTILINE 옵션을 사용하여 여러 줄로 이루어진 문자열에서 정규식 매칭을 수행합니다. 이 옵션을 설정하면 ^$ 메타문자가 각 줄의 처음과 끝으로 매칭되도록 설정됩니다. 따라서 여러 줄에 걸쳐 매칭되는 패턴을 찾을 수 있습니다.

위 예제에서는 Hello, 다음에 공백과 한 단어가 있는 패턴을 찾도록 정규식을 구성했습니다. 따라서 Hello, World!라는 문자열을 매칭하게 됩니다.

re.findall() 함수를 사용하여 정규식에 매칭되는 모든 결과를 리스트로 반환받습니다. 이후 결과를 출력하는 반복문을 통해 매칭된 결과를 한 줄씩 출력합니다.

정규식을 핸들링하는 데에는 다양한 옵션과 패턴 사용법이 있으므로 필요에 따라 문서를 참조하시기 바랍니다. Python 공식 문서에서 제공하는 re 모듈 문서를 참고하시면 도움이 될 것입니다.

정규식을 이용하여 여러 줄로 이루어진 문자열에서 패턴을 찾을 때는 re.MULTILINE 옵션을 사용하여 줄 단위로 매칭이 수행되도록 설정하시면 됩니다.