Dan wrote: >> My (probably to naive) approach is: p = re.compile(r'\b#include\b) > > I think your problem is the \b at the beginning. \b matches a word break > (defined as \w\W or \W\w). There would only be a word break before the # > if the preceding character were a \w (that is, [A-Za-z0-9_], and maybe > some other characters depending on your locale). > > However, the \b after the "include" is exactly what you want. >
So the OP probably wanted '\B' the exact opposite of '\b' for the start of the string, i.e. only match the # if it is NOT preceded by a wordbreak. Alternatively for C style #includes search for r'^\s*#\s*include\b'. -- http://mail.python.org/mailman/listinfo/python-list