[英]JavaScript regex with variable pattern using RegExp constructor
具有變量
var str = "asdasd asd 123213 100 Feet";
我可以輕松地使用提取字符串“ 100 Feet”
str.match(/(\d+) feet/gi);
生產:
100 Feet
但是,假設我想在變量中指定關鍵字“ feet”,並在我的regex評估中使用它-因此,我嘗試使用RegExp構造函數,如下所示:
var keyWord = 'feet';
var pattern = '(\\d+) ' + keyWord;
//pattern evaluates into '(\d+) feet', seemingly equivalent to the pattern shown above
var regex = new RegExp(pattern, 'g', 'i');
var result = str.match(regex);
但是,由於某種原因,該字符串與字符串不匹配。 任何人都可以對此有所了解嗎?
發生這種情況是因為未應用ignore case
標志。 應該:
var regex = new RegExp(pattern, 'gi');
RegExp
構造函數沒有第三個參數, flag
參數應由不同標志的組合組成,如簡單字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.