Chapter 17 only partially done.

Left it far too late. I could have done all the exercises but instead tried to come up with an elegant way of highlighting matches in ex1.
It's now 00:30, and I've decided to throw away all the elaborate shit I'd done, because I couldn't quite get it working correctly.
I like the way you get a warning about invalid input without saying what the input is supposed to be.