Another way to match multiple occurrences is to use curly brackets with a number, like:
select 'ab' ~ '^[a-z]{2}$';
It can be done with a range of numbers as well:
select 'ab' ~ '^[a-z]{2,4}$';
select 'abab' ~ '^[a-z]{2,4}$';
I believe, however, that the curly brackets notation was introduced in 9.0 and is not available in earlier versions.
--Stephen
On Wed, Jan 19, 2011 at 5:21 AM, Samuel Gendler
<sgendler@ideasculptor.com> wrote:
I'd think you need to indicate multiple alphabetic matches. Your first regex actually matches only b followed by end of string and the second is really only matching start of string followed by a. The third is looking for a single character string.
Try this: select 'ab' ~ '^[a-z]+$'
or this: select 'ab' ~ '^[a-z]*$'
or if looking only for 2 character strings: select 'ab' ~ '^[a-z][a-z]$'