Hi all! I need to parse c/cpp source files, one requirement is to extract included header file name. here is my solution: >>> p = re.compile(r'#\s*include\s+(?:(<)|("))(.*)(?(1)>)(?(2)")') >>> m = re.search(p, '#include <header.h>') >>> m.group(3) 'header.h' >>> m = re.search(p, '#include "header.h"') >>> m.group(3) 'header.h' >>> m = re.search(p, '#include <header.h"') >>> print(m) None >>> m = re.search(p, '#include "header.h>') >>> print(m) None
Pretty ugly! And I know for a valid c/cpp source file, it will be not necessary to check and match '<' with '>' and " with ", but I'm wondering to see more elegant way to do such thing. tiefeng wu 2009-07-23 -- http://mail.python.org/mailman/listinfo/python-list