Gleitkomma-/Double-Werte mit regulären Ausdrücken extrahieren
In Python können Sie reguläre Ausdrücke verwenden, um Gleitkomma- oder Double-Werte aus Zeichenfolgen zu extrahieren . Lassen Sie uns einen leistungsstarken regulären Ausdruck aus Perl erkunden:
(?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 $
Zum Beispiel, um einen doppelten Wert aus einer Zeichenfolge zu extrahieren:
<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>
Um mehrere numerische Werte aus einer größeren Zeichenfolge zu extrahieren, müssen Sie kann die findall()-Methode verwenden:
<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>
Das obige ist der detaillierte Inhalt vonWie verwende ich reguläre Ausdrücke, um Float-/Double-Werte in Python zu extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!