Tester si une chaîne de caractère est un réel à l’aide de regex.

L’objectif est de tester si une chaîne de caractère représente un nombre réel (float, double, long double). Pour ce faire j’ai décidé d’utiliser une expression régulière.
Voici l’expression régulière:
(^[\s]*[-+]?[0-9]*?\.?[0-9]+([eE][-+]?[0-9]+)?[\s]*|^[\s]*[-+]?[0-9]+\.?[\s]*)
Le lien de l’expression avec les tests est disponible sur regex101.com
L’expression est divisée en deux groupes (groupe1|groupe2). Le groupe 1 ne peut détecter de réel dans la chaîne de caractère qui suit «1.», c’est au groupe 2 qu’il incombe de le détecter.
Le problème de regex101 c’est qu’il ne génère pas l’implémentation pour c++.