From: | Harald Fuchs <hf517(at)protecting(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: SUBSTRING for a regular expression |
Date: | 2004-07-06 10:29:48 |
Message-ID: | puacydxwbn.fsf@srv.protecting.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
In article <64617(dot)206(dot)53(dot)65(dot)243(dot)1089074434(dot)squirrel(at)$HOSTNAME>,
<btober(at)computer(dot)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.+)$/
From | Date | Subject | |
---|---|---|---|
Next Message | Najib Abi Fadel | 2004-07-06 10:45:46 | Re: Bug in function to_char() !! |
Previous Message | Najib Abi Fadel | 2004-07-06 10:23:27 | Re: creating a complex aggregate function |