Вы не ответили на вопрос Алана, но я предполагаю, что он прав, и вы заинтересованы в отрицательном прогнозном утверждении. IOW - соответствует «bar», но НЕ «barfoo». В этом случае вы можете построить свое регулярное выражение следующим образом:
myregex = re.compile('bar(?!foo)')
for example, from the python console:
>>> import re
>>> myregex = re.compile('bar(?!foo)')
>>> m = myregex.search('barfoo')
>>> print m.group(0) <=== Error here because match failed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>> m = myregex.search('bar')
>>> print m.group(0) <==== SUCCESS!
bar