Re: SUBSTRING for a regular expression - Mailing list pgsql-general

From Harald Fuchs
Subject Re: SUBSTRING for a regular expression
Date
Msg-id puacydxwbn.fsf@srv.protecting.net
Whole thread Raw
In response to SUBSTRING for a regular expression  (<btober@computer.org>)
List pgsql-general
In article <64617.206.53.65.243.1089074434.squirrel@$HOSTNAME>,
<btober@computer.org> writes:

> I can't seem to get right the regular expression for parsing data like
> these four sample rows (names and addresses changed to ficticious values)
> from a text-type column:

> Yolanda Harris, 38, of 40 South Main St., Newtown City, was charged
> Sunday with breach of peace and interfering with a police officer.

> Allen K. George, 30, of 88 Beverly Court was charged Saturday with
> possession of marijuana, third-degree criminal mischief, breach of peace,
> evading responsibility, interfering with a police officer, driving with a
> suspended license, driving under the influence of drugs or alcohol,
> failure to drive right and failure to have proper insurance.

> Brain T. Grafton, 18, of 97 Bristol Ave. was charged Sunday with
> possession of marijuana, possession of alcohol by a minor and failure to
> wear a seat belt.

> Brian D. Sptizer Jr., 18, of 20 Walling Ave., Northford, was charged
> Sunday with driving under the influence of drugs or alcohol, evading
> responsibility and following too closely.

> Into separate columns for: name, age, address, charge. For example the
> first record would have

> name='Yolanda Harris'
> age=38
> address='40 South Main St., Newtown City'
> charge='was charged Sunday with breach of peace and interfering with a
> police officer.'

> To get the name, for instance, I tried

> SELECT SUBSTRING(description FROM '^([:alnum:]*), \d{2}, .*$') FROM
> police_log;

> or the age value

> SELECT SUBSTRING(description FROM '^[:alnum:]*, (\d{2}), .*$') FROM
> police_log;

> But return values are all NULL. Can anyone give me some RE help, please?

Could you use Perl?  A Perl regexp for that would be

/^(.+), (\d+), of (.+?),? (was charged.+)$/

pgsql-general by date:

Previous
From: "Markus Wollny"
Date:
Subject: ./configure --with-java fails
Next
From: Kris Jurka
Date:
Subject: Re: ./configure --with-java fails