Regular expression to match a #
duncan.booth at invalid.invalid
Thu Aug 11 14:11:40 CEST 2005
>> 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'.
More information about the Python-list