Match [ ] and [X] properly

Wasn't actually matching before - the \< and \> don't consider [ and ]
part of a word boundary. And the square brackets weren't escaped :S