import re

pattern = r"\b(duck|crow|hen|sparrow)\s+eats\b"
list2 = [['The crow eats'], ['Hen eats blue seeds'], ['the duck is cute'], ['she eats veggies']]

res = [[re.sub(pattern, r"\1", s, 0, re.I) for s in lst] for lst in list2]

print(res)