все выражения, опубликованные до сих пор, также соответствуют "cheeseburger" и "cakewalk". Не знаю, является ли это желательным или нет, на всякий случай вот версия, которая этого не делает:
alert(/\b(cheese|cake)\b/i.test("cheese and cake")) // true
alert(/\b(cheese|cake)\b/i.test("cheeseburger and pancake")) // false