[python] 정규표현식을 이용한 숫자 추출하기

정규표현식을 사용하면 특정 패턴을 가진 텍스트에서 원하는 정보를 추출할 수 있습니다. 이번 포스트에서는 Python에서 정규표현식을 이용하여 숫자를 추출하는 방법에 대해 알아보겠습니다.

정규표현식 패턴 사용하기

파이썬에서는 re 모듈을 사용하여 정규표현식을 처리할 수 있습니다. 아래는 숫자를 추출하기 위해 사용할 수 있는 정규표현식 패턴입니다.

import re

text = "I have 2 apples and 3 oranges."

pattern = r"\d+"  # 1개 이상의 숫자를 의미하는 패턴
result = re.findall(pattern, text)

print(result)  # ['2', '3']

위 예제에서는 정규표현식 패턴인 \d+를 이용하여 숫자를 추출하고 있습니다. 이 패턴은 1개 이상의 숫자를 의미하며, re.findall() 함수를 사용하여 패턴과 일치하는 모든 부분을 추출합니다.

다른 정규표현식 패턴 사용하기

정수만 추출하는 것이 아닌 소수나 음수를 포함한 숫자를 추출해야 할 경우에는 다른 정규표현식 패턴을 사용해야 합니다. 아래는 다양한 숫자 패턴을 추출하는 예제입니다.

import re

text = "The temperature is -12.5°C today."

integer_pattern = r"-?\d+"  # 정수를 의미하는 패턴
decimal_pattern = r"-?\d+\.\d+"  # 소수를 의미하는 패턴
temperature_pattern = r"-?\d+(\.\d+)?°C"  # 온도를 의미하는 패턴

integer_result = re.findall(integer_pattern, text)
decimal_result = re.findall(decimal_pattern, text)
temperature_result = re.findall(temperature_pattern, text)

print(integer_result)  # ['-12']
print(decimal_result)  # ['-12.5']
print(temperature_result)  # ['-12.5°C']

위 예제에서는 음수를 포함한 정수 패턴인 -?\d+, 소수 패턴인 -?\d+\.\d+, 그리고 온도 패턴인 -?\d+(\.\d+)?°C를 사용하여 숫자를 추출하고 있습니다. 각각의 패턴은 음수나 소수를 고려하여 숫자를 추출합니다.

결론

Python의 정규표현식을 이용하면 텍스트에서 원하는 숫자를 추출할 수 있습니다. 위 예제를 참고하여 자신의 상황에 맞는 정규표현식 패턴을 작성하여 사용해보세요. 추가적인 정보를 얻고 싶다면 Python 공식 문서 내의 re 모듈을 참고하시기 바랍니다.

참고 자료: