[파이썬] 정규 표현식의 매칭 결과 문자열 추출

정규 표현식은 문자열을 검색 및 매칭하기 위해 사용되는 강력한 도구입니다. Python의 re 모듈을 사용하여 정규 표현식을 쉽게 작성하고 매칭된 결과를 추출할 수 있습니다.

이번 글에서는 Python에서 정규 표현식 매칭 결과로부터 문자열을 추출하는 방법에 대해 알아보겠습니다.

1. re 모듈 import하기

먼저, re 모듈을 import해야 합니다. 아래와 같이 코드를 작성하여 re 모듈을 import하세요.

import re

2. 정규 표현식 작성하기

정규 표현식을 작성하기 전에 추출하고자 하는 문자열 패턴을 정의해야 합니다. 예를 들어, “Hello, my name is John and I am 25 years old.”라는 문자열에서 이름과 나이를 추출하고 싶다면 다음과 같은 정규 표현식을 작성할 수 있습니다.

pattern = r"Hello, my name is (\w+) and I am (\d+) years old."

위의 정규 표현식에서 (\w+)는 이름을 의미하며, (\d+)는 나이를 의미합니다. 이제 이 정규 표현식을 사용하여 매칭된 문자열을 추출하겠습니다.

3. 문자열 매칭 및 추출하기

문자열 매칭 및 추출을 위해 re.findall() 함수를 사용할 수 있습니다. 아래와 같이 코드를 작성하여 매칭된 결과를 추출하세요.

text = "Hello, my name is John and I am 25 years old."
matches = re.findall(pattern, text)

re.findall() 함수는 매칭된 모든 결과를 리스트로 반환합니다. 위의 예제에서 matches는 다음과 같은 결과를 가질 것입니다.

[('John', '25')]

4. 추출된 문자열 사용하기

매칭된 결과를 추출한 후에는 추출된 문자열을 필요에 따라 사용할 수 있습니다. 위의 예제에서 이름과 나이를 각각 변수에 저장하고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

name = matches[0][0]
age = int(matches[0][1])

위의 코드에서 matches[0][0]는 첫 번째 매칭 결과의 첫 번째 그룹을 나타내며, matches[0][1]은 두 번째 그룹을 나타냅니다. int() 함수를 사용하여 나이 문자열을 정수로 변환하였습니다.

이제 name 변수에는 “John”이라는 문자열이 저장되고, age 변수에는 25라는 정수가 저장될 것입니다.

결론

Python의 re 모듈을 사용하여 정규 표현식 매칭 결과로부터 문자열을 추출하는 방법을 배웠습니다. 정규 표현식을 활용하면 다양한 문자열 매칭 작업을 수행할 수 있으며, 추출된 결과를 사용하여 다양한 용도로 활용할 수 있습니다.

더 자세한 정보나 고급 정규 표현식 패턴에 대해서는 Python 공식 문서를 참조하시기 바랍니다.