|  | Posted by Chung Leong on 07/04/61 11:37 
Tony Marston wrote:> I am seeking help with a regular expression that will split a string into
 > several parts with ',' (comma) as the separator, but NOT where the separator
 > is enclosed in parentheses. For example, take the string "field1,
 > CONCAT(field2,' ', field3) as field23, field4". I would like to be able to
 > split this into the following:
 > [0] field1
 > [1] CONCAT(field2,' ', field3) as field23
 > [2] field4
 >
 > Thanks in advance.
 >
 > --
 > Tony Marston
 > http://www.tonymarston.net
 
 This works for the text format you described. Doesn't work in
 situations where you might have paraphrases inside literal strings. For
 that you'd need a solution like that one Pedro suggested.
 
 preg_match_all('/\s*([^,]*\(.+[^\)]\)[^,]*|[^,]+)\s*/', $text, $m);
 $list = $m[1];
 [Back to original message] |