1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import re
motif_entier = re.compile(r"^[+-]?[0-9]+$")
motif_reelp = re.compile(r"^[+-]?(([0-9]+(\.[0-9]*)?)|\.[0-9]+)([eE][+-]?[0-9]+)?$")
motif_reelv = re.compile(r"^[+-]?(([0-9]+(,[0-9]*)?)|,[0-9]+)([eE][+-]?[0-9]+)?$")
# quelques exemples:
elems = ["1234",
"+1234",
"-1234",
"0.123",
"0.123e-5",
"0,123",
"23,456E-89",
"+0.123",
"-0.123",
"123A",
"*1.789"]
for elem in elems:
if motif_entier.match(elem):
print(elem, "est un entier")
elif motif_reelp.match(elem):
print(elem, "est un réel avec un point décimal")
elif motif_reelv.match(elem):
print(elem, "est un réel avec une virgule décimale")
else:
print(elem, "n'est pas un nombre") |
Partager