Ricerca di stringhe JavaScript con virgolette singole e doppie utilizzando RegExp [duplicate]

Sep 20 2020

Sto usando il seguente codice per cercare una sottostringa in una stringa

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

Il motivo per cui sto usando new RegExpè che voglio cercare senza distinzione tra maiuscole e minuscole. Tuttavia, quando è presente una stringa come

var mystring = '10" stick';

e voglio cercare 10", il codice sopra non restituisce alcun risultato. È chiaramente a causa di new RegExpuna virgoletta doppia. C'è qualche bandiera in particolare che deve essere passata new RegExp? Ho cercato molto su Google ma non sono riuscito a trovare alcuna soluzione. Cosa mi sto perdendo?

Risposte

aeXuser264 Sep 20 2020 at 10:09

searchrestituisce la posizione della partita, forse sei confuso da questo.
Quindi, prova questo,

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

Restituisce la corrispondenza o nullse non c'è. E corrisponde 10"a10" stick

vedi String.prototype.searchmdn