Regular expression to match a #

Duncan Booth duncan.booth at invalid.invalid
Thu Aug 11 14:11:40 CEST 2005

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'.

More information about the Python-list mailing list