정규 표현식을 사용하여 문자열에서 부동 소수점 값 추출
문자열에서 double 값을 추출하는 작업을 고려해 보세요. 정규 표현식을 사용하여 이를 달성하려면 다음 단계가 필요합니다.
정규 표현식 구성:
<code class="python">import re pattr = re.compile(???) x = pattr.match("4.5")</code>
Perl 호환 정규 표현식 사용:
부동 소수점 값 추출을 위한 Perl 문서의 적합한 정규식은 다음과 같습니다.
<code class="python">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 $""")</code>
일치 항목 찾기 및 검색:
이중 값을 추출하려면 컴파일된 정규식을 원하는 문자열에 적용합니다.
<code class="python">m = re_float.match("4.5") print(m.group(0))</code>
이 결과는 다음과 같습니다.
4.5
문자열에서 여러 값 추출:
더 큰 문자열에서 여러 부동 소수점 값을 추출하려면 findall() 메서드를 사용합니다.
<code class="python">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))</code>
이렇게 하면 다음을 포함하여 추출된 값 목록을 반환합니다.
['4.5', '-4.5', '- 4.5', '+ .1e10', ' 1.01e-2', ' 1.01', '-.2', ' 123', ' .123']
위 내용은 정규식을 사용하여 문자열에서 부동 소수점 값을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!