> I'm not sure if that's any better... But it's your call :)

You're right, I took a look at the replace source code and either way should work.

> jshint fails due to line length. Maybe I should move the checks in lines 26-27 instead.

Or you can remove that jshint option. Either way works for me.

> include and exclude are mutually exclusive. Not sure if we should add a check for that but "replace" itself doesn't show anything in that case.

I'll leave that up to you. I don't have a preference.