Поиск строки Javascript в двойных и одинарных кавычках с использованием RegExp

Я использую следующий код для поиска подстроки в строке

mystring.search(new RegExp(substring, 'i'))

Причина, по которой я использую new RegExp, заключается в том, что я хочу искать без учета регистра. Однако, когда есть строка типа

var mystring = '10" stick';

и я хочу выполнить поиск 10", приведенный выше код не возвращает никакого результата. Это явно из-за new RegExp и двойных кавычек. Есть ли какой-то конкретный флаг, который нужно передать в new RegExp? Я много гуглил, но не нашел решения. Что мне не хватает?


person Julfikar    schedule 20.09.2020    source источник


Ответы (1)


search возвращает позицию совпадения, возможно ты смущен этим.
Итак, попробуйте это,

const myString = '10" stick';

console.log(myString.match(new RegExp('10"', 'i'))[0])
console.log(myString.match(new RegExp('ick', 'i'))[0])
console.log(myString.match(new RegExp('asd"', 'i'))) // non-matching

Он возвращает совпадение или null, если его нет. И это соответствует 10" в 10" stick

см. String.prototype.search mdn

person aeXuser264    schedule 20.09.2020