use Regexp::Common 'number'; my $NUMBER = "(?x: \\( \\$? (?: $RE{num}{real} | $RE{num}{int} | $RE{num}{real}{-sep => ','}{-group => 3} | $RE{num}{int} {-sep => ','}{-group => 3} ) \\) | \\$? -? (?: $RE{num}{real} | $RE{num}{int} | $RE{num}{real}{-sep => ','}{-group => 3} | $RE{num}{int} {-sep => ','}{-group => 3} ) )";