ホームページ  >  記事  >  バックエンド開発  >  正規表現を使用して Python で Float/Double 値を抽出する方法

正規表現を使用して Python で Float/Double 値を抽出する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-21 12:05:02815ブラウズ

How to Use Regular Expressions to Extract Float/Double Values in Python?

正規表現を使用した Float/Double 値の抽出

Python では、正規表現を利用して文字列から浮動小数点値または Double 値を抽出できます。 。 Perl の強力な正規表現を見てみましょう:

(?x)
^
  [+-]?\ *      # Optional sign followed by optional whitespace
  (             # Match integers or floating-point mantissas
      \d+       # Whole numbers
      (
          \.\d* # Mantissa with decimal point (a.b or a.)
      )?        # Optional decimal point
     |\.\d+     # Mantissa without leading whole number (.b)
  )
  ([eE][+-]?\d+)?  # Optional exponent
$

たとえば、文字列から double 値を抽出するには:

<code class="python">import re

# Create a regular expression pattern
re_float = re.compile(above_regexp)

# Match the pattern against a string
match = re_float.match("4.5")

# Extract the matched value
double_value = match.group(0)

print(double_value)  # Output: 4.5</code>

より大きな文字列から複数の数値を抽出するには、次のようにします。 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"""

numeric_values = re.findall(r"[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?", s)

print(numeric_values)  # Output: ['4.5', '-4.5', '- 4.5', '+ .1e10', ' 1.01e-2', '       1.01', '-.2', ' 123', ' .123']</code>

以上が正規表現を使用して Python で Float/Double 値を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。