整数、浮動小数点数、または科学的記数法である数値を検出するためのPythonの正規表現

ミヒカ

Pythonで数値を受け入れるための正規表現を作成するにはどうすればよいですか?数値は、整数、浮動小数点数、または3e +3または3e-3の形式のいずれかです。

文字列の先頭のみを照合したいのですが、上記の形式のいずれかの数値が存在する場合は、その数値と文字列の残りの部分を返します。

編集

例えば、

入力>> 290.07abcd出力>> [290.07、abcd]

入力>> abc123出力>>なし

また、最初の発生のみがチェックされます。

例えば、

入力>>- 390-400abc

出力>> [-390、-400abc]

Pythonを使用してこれを行うにはどうすればよいですか?次のことを試しましたが、期待どおりの出力が得られません。

import re
r = input()
x = re.search('^[+-]?\d*(\.\d+)?([+-][eE]\d+)?', r)
if x:
    print("x present: ", x.group())
else:
    print(None)

例えば、

入力>> 100abc

出力>> x存在:100


入力>> abc100

出力>> x存在:

期待される出力>>なし

ウォーレンウェッケサー

これが1つの可能性です。数字のパターンは

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

パターンは次のもので構成されます。

  • オプションの記号;
  • 数の主要部分の3つの選択肢:
    • 1桁以上、小数点、0桁以上。
    • 小数点とそれに続く1つ以上の数字。
    • 1桁以上(小数点なし)。
  • オプションの指数部分。次のもので構成されます。
    • eまたはE;
    • オプションの記号;
    • 1つ以上の数字。

数値の主要部分の最初と3番目の選択肢は、1つ以上の数字で構成するように組み合わせることができ、オプションで、小数点とそれに続く0つ以上の数字が続きます。番号のパターンは次のようになります

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

これを使用して、要求したことを実行する関数を作成できます。

pattern = "(" + number_pattern + ")(.*)"
compiled = re.compile(pattern)

def number_split(s):
    match = compiled.match(s)
    if match is None:
        return None
    groups = match.groups()
    return groups[0], groups[-1]

いくつかの例:

In [4]: print(number_split("290.07abcd"))
('290.07', 'abcd')

In [5]: print(number_split("abc123"))
None

In [6]: print(number_split("-390-400abc"))
('-390', '-400abc')

In [7]: print(number_split("0.e-3"))
('0.e-3', '')

In [8]: print(number_split("0x"))
('0', 'x')

In [9]: print(number_split(".123e2"))
('.123e2', '')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

整数または小数点以下2桁の浮動小数点数を検証するための正規表現

分類Dev

std :: Scientificは常に浮動小数点数の正規化された科学的記数法になりますか?

分類Dev

正規表現のテキスト行で数値と倍精度浮動小数点数を検索する

分類Dev

科学的記数法を検証するための正規表現

分類Dev

角括弧または丸括弧内の浮動小数点数を見つけるための正規表現

分類Dev

数が整数であるかCの浮動小数点数であるかを検出する方法は?

分類Dev

Python-科学的記数法の文字列を小数点以下の桁数を保持する浮動小数点数に変換します

分類Dev

golangで空の浮動小数点数または整数値を確認する

分類Dev

科学的記数法で印刷された浮動小数点数の配置

分類Dev

浮動小数点数の配列を科学的記数法で文字列の配列に変換する

分類Dev

有効桁数が固定された浮動小数点数の正規表現

分類Dev

JavaScriptで正規表現を使用して、負の数と浮動小数点数を含む文字列から数値の配列を取得する

分類Dev

「describe」関数が科学的記数法を使用して浮動小数点数を表示するのはなぜですか?

分類Dev

コロンまたは小数点の有無にかかわらず、数値を検証するための正規表現

分類Dev

パンダ級数の数値を整数または浮動小数点数に転送するにはどうすればよいですか?

分類Dev

パターン整数、整数、または浮動小数点の正規表現

分類Dev

Javaで丸められた数値のない浮動小数点数を取得する方法

分類Dev

正規表現:文字列から数字を検索し、「N」で始まる数字(整数/浮動小数点の場合もあります)を除外します

分類Dev

正規表現を使用して、小数点以下の桁数のある数値を検索します

分類Dev

「小数点以下2桁の浮動小数点数で、0.25の増分のみを許可する」の正規表現は何ですか。

分類Dev

Scala 2.11.2で科学的記数法の浮動小数点数のコンパイルエラーが発生するのはなぜですか?

分類Dev

浮動小数点数を抽出するPerl正規表現

分類Dev

複数の文字で囲まれた文字列から浮動小数点数を抽出する方法は?

分類Dev

記数法での浮動小数点表現

分類Dev

浮動小数点数の正確な表現をループする方法は?

分類Dev

正と負の整数、浮動小数点数の正規表現を作成します

分類Dev

PHP正規表現でカップルの単語を照合した後、整数値または浮動小数点値を取得するにはどうすればよいですか?

分類Dev

座標を格納するための浮動小数点または整数

分類Dev

JavaScriptの数値で始まるだけでなく、正確な数値である場合に文字列を浮動小数点数に変換する方法

Related 関連記事

  1. 1

    整数または小数点以下2桁の浮動小数点数を検証するための正規表現

  2. 2

    std :: Scientificは常に浮動小数点数の正規化された科学的記数法になりますか?

  3. 3

    正規表現のテキスト行で数値と倍精度浮動小数点数を検索する

  4. 4

    科学的記数法を検証するための正規表現

  5. 5

    角括弧または丸括弧内の浮動小数点数を見つけるための正規表現

  6. 6

    数が整数であるかCの浮動小数点数であるかを検出する方法は?

  7. 7

    Python-科学的記数法の文字列を小数点以下の桁数を保持する浮動小数点数に変換します

  8. 8

    golangで空の浮動小数点数または整数値を確認する

  9. 9

    科学的記数法で印刷された浮動小数点数の配置

  10. 10

    浮動小数点数の配列を科学的記数法で文字列の配列に変換する

  11. 11

    有効桁数が固定された浮動小数点数の正規表現

  12. 12

    JavaScriptで正規表現を使用して、負の数と浮動小数点数を含む文字列から数値の配列を取得する

  13. 13

    「describe」関数が科学的記数法を使用して浮動小数点数を表示するのはなぜですか?

  14. 14

    コロンまたは小数点の有無にかかわらず、数値を検証するための正規表現

  15. 15

    パンダ級数の数値を整数または浮動小数点数に転送するにはどうすればよいですか?

  16. 16

    パターン整数、整数、または浮動小数点の正規表現

  17. 17

    Javaで丸められた数値のない浮動小数点数を取得する方法

  18. 18

    正規表現:文字列から数字を検索し、「N」で始まる数字(整数/浮動小数点の場合もあります)を除外します

  19. 19

    正規表現を使用して、小数点以下の桁数のある数値を検索します

  20. 20

    「小数点以下2桁の浮動小数点数で、0.25の増分のみを許可する」の正規表現は何ですか。

  21. 21

    Scala 2.11.2で科学的記数法の浮動小数点数のコンパイルエラーが発生するのはなぜですか?

  22. 22

    浮動小数点数を抽出するPerl正規表現

  23. 23

    複数の文字で囲まれた文字列から浮動小数点数を抽出する方法は?

  24. 24

    記数法での浮動小数点表現

  25. 25

    浮動小数点数の正確な表現をループする方法は?

  26. 26

    正と負の整数、浮動小数点数の正規表現を作成します

  27. 27

    PHP正規表現でカップルの単語を照合した後、整数値または浮動小数点値を取得するにはどうすればよいですか?

  28. 28

    座標を格納するための浮動小数点または整数

  29. 29

    JavaScriptの数値で始まるだけでなく、正確な数値である場合に文字列を浮動小数点数に変換する方法

ホットタグ

アーカイブ