Я пытаюсь выделить совпадение в строке, вставив теги <b>
вокруг соответствующей подстроки.Например, если запрос «cat», то:
"I have a cat."
должен стать:
"I have a <b>cat</b>."
Аналогично, если запрос «переполнение стека», то:
"Stack Overflow is great."
должно стать:
"<b>Stack Overflow</b> is great."
Другими словами, я должен сохранить регистр исходной строки, но не учитывать регистр при сопоставлении.
Одна вещь, которую ядо сих пор пытался:
var regex = new RegExp('(' + query + ')', 'i');
return strResult.replace(regex, '<b>$1</b>');
Однако, это вызывает исключение времени выполнения, если запрос содержит какие-либо круглые скобки, и я думаю, что было бы слишком много хлопот, чтобы попытаться избежать всех возможных символов регулярного выражения.