In article <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> 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.+)$/ ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match