Type this into Vim:
:echo 'doesn''t' == "doesn't"
That demonstrates that the literal string exactly equals the regular string.
So why does
:grep -r "doesn't"
work, returning all instances of doesn't
, but
:grep -r 'doesn''t'
fails, returning instances of doesnt
instead?