Re: SUBSTRING for a regular expression
От | Harald Fuchs |
---|---|
Тема | Re: SUBSTRING for a regular expression |
Дата | |
Msg-id | puacydxwbn.fsf@srv.protecting.net обсуждение исходный текст |
Ответ на | SUBSTRING for a regular expression (<btober@computer.org>) |
Список | 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 по дате отправления: