Когда match
вызывается с объектом, отличным от RegExp, он преобразуется в RegExp:
Если передан объект не-RegExp obj
, он неявно преобразуется в RegExp с помощью new RegExp(obj)
.
Это означает, что, поскольку ?
является специальным символом в регулярных выражениях (то есть предыдущее выражение может повторяться ноль или один раз), вам необходимо экранировать его с помощью \?
. И поскольку \
также необходимо экранировать в строковых объявлениях, вам потребуется:
var part = $.trim("How are you \\? are you fine \\?");
Более простой способ - использовать indexOf
, который возвращает индекс начала матча, и -1
, если совпадений не было:
string.indexOf(part) > -1