[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
모듈을 참고하시기 바랍니다.
참고 자료: