I have not used Regex much before.
\bcat\b will not match cat in _cat. I see that _ is non-word char and c is word char. Hence, I think the cat in _cat should be matched. But, in below forum, it says it is not.
http://www.rexegg.com/regex-boundaries.html#wordboundary
Didn't quite understand the reason behind it.