Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 정규식으로 부동 소수점 숫자를 매칭하는 방법

정규식(Regular Expression)을 사용하면 문자열에서 부동 소수점 숫자를 손쉽게 찾아낼 수 있습니다. 이 글에서는 파이썬의 re 모듈을 활용해 다양한 형태의 실수를 매칭하는 방법을 알아봅니다.

부동 소수점 매칭 정규식 패턴

부동 소수점 숫자를 매칭할 때 일반적으로 사용되는 정규식 패턴은 다음과 같습니다.

[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?

이 패턴은 아래와 같은 요소로 구성되어 있습니다.

  • [+-]? — 선택적인 부호(+ 또는 -)를 허용합니다.
  • \d+(\.\d*)? — 정수부가 있는 형태입니다. 예: 234, 234.6789, 5.
  • \.\d+ — 소수점으로 시작하는 형태입니다. 예: .45
  • ([eE][+-]?\d+)? — 선택적인 지수 표기법(e 또는 E)을 지원합니다. 예: 1.2e-3

예제 코드

다음 코드는 위 정규식을 사용해 두 개의 부동 소수점 숫자를 매칭합니다.

import re

s = '234.6789'
match = re.match(r'[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?', s)
print(match.group())

s2 = '0.45'
match = re.match(r'[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?', s2)
print(match.group())

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

234.6789
0.45

참고 사항

re.match()는 문자열의 시작 부분에서만 패턴을 찾습니다. 문자열 어디에 있든 숫자를 찾으려면 re.search()를 사용하는 것이 좋습니다. 또한 파이썬 3부터는 print가 함수 형태로 동작하므로 반드시 괄호를 함께 사용해야 합니다.