The MATCH Function
It’s not built into Common Lisp but defined in the text. It supports...
1. exact matching of 1-level lists
(match '(hello there) my-input)
2. wild-card construct, e.g.,
(match '(my name is (? X))
3. wild-card with restrictive predicate, e.g.,
(match '(age (numberp age) '(age 21)))
4. wild-sequence construct, e.g., (* LST)
(match '(from (* x) to (* y))
'(from jim and jan to manuel and tran))