If the user starts with ^ or ends with $, do not add them. This allows
using only $ or ^.
If it's not a string, don't do anything to it (it has to be a regexp, or
mimic one).
Use search() instead of match(). They are the same, except match implies ^.
This does not break any module, it only adds more possibilities.