정규 표현식을 사용하여 문자열에서 부동 소수점 값 추출
문자열에서 double 값을 추출하는 작업을 고려해보세요. 정규 표현식을 사용하여 이를 달성하려면 다음 단계가 필요합니다.
정규 표현식 구성:
import re
pattr = re.compile(???)
x = pattr.match("4.5")
Perl 호환 정규 표현식 사용:
부동 소수점 추출을 위한 Perl 문서의 적합한 정규 표현식 값은 다음과 같습니다:
re_float = re.compile("""(?x)
^
[ -]?\ * # an optional sign and space
( # integers or f.p. mantissas
\d # start with a ...
( # ? takes care of integers
\.\d* # mantissa a.b or a.
)?
|\.\d # mantissa .b
)
([eE][ -]?\d )? # optionally match an exponent
$""")
일치 항목 찾기 및 검색:
이중 값을 추출하려면 컴파일된 정규 표현식을 원하는 문자열에 적용합니다:
m = re_float.match("4.5")
print(m.group(0))
이 결과는 다음과 같습니다:
4.5
문자열에서 여러 값 추출:
더 큰 문자열에서 여러 부동 소수점 값을 추출하려면 findall() 메서드를 사용합니다:
s = """4.5 abc -4.5 abc - 4.5 abc .1e10 abc . abc 1.01e-2 abc
1.01e-.2 abc 123 abc .123"""
print(re.findall(r"[ -]? *(?:\d (?:\.\d*)?|\.\d )(?:[eE][ -]?\d )?", s))
다음을 포함하여 추출된 값 목록을 반환합니다:
['4.5', '-4.5', '- 4.5', ' .1e10', ' 1.01e-2', ' 1.01', '-.2', ' 123', ' .123']
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3