Negative Lookahead
Sat 17 May 2025
title: "Negative Lookahead" author: "Raja CSP Raman" date: 2019-04-20 description: "-" type: technical_note draft: false
import re
test = [ ('i sure like eating pie, but i love donuts', True),
('i sure like eating pie, but i hate donuts', True),
('i sure hate eating pie, but i like donuts', False) ]
rx = re.compile(r"^i ((?!hate|pie).)* pie", re.X)
for t,v in test:
m = rx.match(t)
print(t, "==>", "pass" if bool(m) == v else "fail")
i sure like eating pie, but i love donuts ==> pass
i sure like eating pie, but i hate donuts ==> pass
i sure hate eating pie, but i like donuts ==> pass
Score: 5
Category: regex