RegExp kullanarak çift ve tek tırnak javascript dize araması [duplicate]

Sep 20 2020

Bir dizedeki alt dizeyi aramak için aşağıdaki kodu kullanıyorum

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

Kullanmamın nedeni new RegExp, büyük / küçük harfe duyarlı arama yapmak istiyorum. Ancak, şöyle bir dize olduğunda

var mystring = '10" stick';

ve aramak istiyorum 10", yukarıdaki kod herhangi bir sonuç vermiyor. Açıkça new RegExpçift ​​alıntı yüzünden . Aktarılması gereken belirli bir bayrak var new RegExpmı? Google'da çok araştırdım ama herhangi bir çözüm bulamadım. Neyi kaçırıyorum?

Yanıtlar

aeXuser264 Sep 20 2020 at 10:09

searchmaç pozisyonunu döndürür, belki bununla kafanız karışmıştır
Öyleyse, bunu dene,

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

nullEşleşmeyi veya yoksa eşleşmeyi döndürür . VE şununla eşleşiyor 10":10" stick

mdn'ye bakınString.prototype.search