From: Thomas Swan <tswan@idigx.com>
To: olly@lfix.co.uk
Cc: Josh Berkus <josh@agliodbs.com>
Cc: Theo Galanakis <Theo.Galanakis@lonelyplanet.com.au>
Cc: pgsql-sql@postgresql.org
Subject: Re: Isnumeric function?
Date: Wed, 08 Sep 2004 20:58:24 -0500
Message-ID: <413FB8C0.4050008@idigx.com> (raw)
In-Reply-To: <1094667111.2014.98.camel@linda>
References: <82E30406384FFB44AFD1012BAB230B55037D056E@shiva.au.lpint.net>
<200409080947.17682.josh@agliodbs.com>
<1094664017.2014.80.camel@linda>
<200409081048.01034.josh@agliodbs.com>
<1094667111.2014.98.camel@linda>
Oliver Elphick wrote:
>On Wed, 2004-09-08 at 18:48, Josh Berkus wrote:
>
>
>>Theo, Oliver,
>>
>>
>>
>>>Any reason why you don't like ~ '^([0-9]?)+\.?[0-9]*$' ?
>>>
>>>
>>Yes, because it also matches "." , which is not a valid numeric value.
>>
>>
>>
>>> ~ '^([0-9]+|[0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)$'
>>>
>>>
>>Ah, the brute force approach ;-)
>>
>>
>
>Nothing like using a nice big hammer!
>
>
>
Would "^([0-9]+\\.{0,1}[0-9]*|\\.[0-9]+)$" be a little cleaner?
>>Actually, the above could be written:
>>
>>~ '^([0-9]+)|([0-9]*\\.[0-9]+)$'
>>
>>
>
>But that doesn't allow a trailing decimal point.
>
>
>
>>... though that still seems inelegant to me. Is there a regex expert in the
>>house?
>>
>>
>
>All the elegant approaches I can think of match the empty string. There
>must be at least one digit and 0 or 1 decimal point with no other
>characters permitted. If you use this as a constraint, you could make
>it elegant and combine it with another constraint to exclude '' and '.'.
>
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: tswan@idigx.com, olly@lfix.co.uk, josh@agliodbs.com, Theo.Galanakis@lonelyplanet.com.au
Subject: Re: Isnumeric function?
In-Reply-To: <413FB8C0.4050008@idigx.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox