#!/usr/bin/perl use warnings; use strict; use Regexp::Common qw/number/; use YAPE::Regex::Explain; print YAPE::Regex::Explain->new($RE{num}{real})->explain(); __END__ The regular expression: (?-imsx:(?:(?i)(?:[+-]?)(?:(?=[0123456789]|[.])(?:[0123456789]*)(?:(?:[.])(?:[0123456789]{0,}))?)(?:(?:[E])(?:(?:[+-]?)(?:[0123456789]+))|))) matches as follows: NODE EXPLANATION ------------------------------------------------------------BLAH BLAH BLAH