Regular expression to match a #

John Machin sjmachin at
Thu Aug 11 16:48:42 EDT 2005

Aahz wrote:
> In article <42fb45d7$1 at>,
> John Machin  <sjmachin at> wrote:
>>Search for r'^something' can never be better/faster than match for 
>>r'something', and with a dopey implementation of search [which Python's 
>>re is NOT] it could be much worse. So please don't tell newbies to 
>>search for r'^something'.
> You're somehow getting mixed up in thinking that "^" is some kind of
> "not" operator -- it's the start of line anchor in this context.

I can't imagine where you got that idea from.

If I change "[which Python's re is NOT]" to "[Python's re's search() is 
not dopey]", does that help you?

The point was made in a context where the OP appeared to be reading a 
line at a time and parsing it, and re.compile(r'something').match() 
would do the job; re.compile(r'^something').search() will do the job too 
-- BECAUSE ^ means start of line anchor -- but somewhat redundantly, and 
very inefficiently in the failing case with dopey implementations of 
search() (which apply match() at offsets 0, 1, 2, .....).

More information about the Python-list mailing list