【发布时间】:2020-01-07 16:52:47
【问题描述】:
大家好,我正在尝试一种将多个项目名称添加到 regex 列表的简单方法:
var whatToLookFor = "DOZ,DOB".split(",");
var highlightThis = "";
$.each(whatToLookFor,function(i){
highlightThis += whatToLookFor[i] + "\/|";
});
highlightThis = "\/" + highlightThis.replace(/.$/,"\/gi");
console.log(highlightThis);
/DOZ\/|DOB\//gi <-highlightThis should look like this
$('.string-example').highlightWithinTextarea({
highlight: highlightThis
});
但是,我使用 highlightThis 获得的值与使用 /DOZ/|DOB//gi 时不同。我输出了 highlightThis 的值,它看起来应该是应该的,但由于某种原因仍然不起作用。
$('.string-example').highlightWithinTextarea({
highlight: /DOZ\/|DOB\//gi
});
为了让它像 regex 值一样对待它,我可能缺少什么?我只是忽略了这可能很简单。 :o)
我使用的代码是here
最终工作代码
var whatToLookFor = "DOZ,DOB".split(",");
var highlightThis = "";
$.each(whatToLookFor,function(i){
highlightThis += whatToLookFor[i] + "/|";
});
highlightThis = highlightThis.replace(/.$/,"");
$('.string-example').highlightWithinTextarea({
highlight: new RegExp(highlightThis, 'gi')
});
【问题讨论】:
标签: javascript jquery regex