0

假设我们有一个简单的算法来突出显示搜索结果:

var patt = new RegExp(result+"(?=\\s|\\.|,|<)(?! type=| class=| id=| src=)","gi");
var highlighted = unhighlighted.replace(patt,"<span style='border:1px solid #3399FF;'>"+result+"</span>" )

这有效,但我如何转移文本的大写。我可以引用匹配的单词或短语吗?

4

2 回答 2

0

您必须使用捕获组和反向引用来实现这一点。这可以像 tihs 一样完成

var patt = new RegExp("(" + result + ")" +"(?=\\s|\\.|,|<)(?! type=| class=| id=| src=)","gi");
var highlighted = unhighlighted.replace(patt,"<span style='border:1px solid #3399FF;'>$1</span>");
于 2012-05-28T15:25:50.917 回答
0

明白了 - 与 Yadala 相同,但 $1 在字符串中:

var patt = new RegExp("(" + result + ")" +"(?=\\s|\\.|,|<)(?! type=| class=| id=| src=)","gi");
var highlighted = unhighlighted.replace(patt,"<span style='border:1px solid #3399FF;'>$1</span>");
于 2012-05-29T08:29:41.643 回答