搜索结果关键字标红 — 正则

str是你的内容,key是关键字

正则表达式匹配模式支持的三个标志(new regexp的第二个参数)

  g:global 全文搜索,不添加则搜索到第一个匹配停止;
  i:ignore case 忽略大小写,默认大小写敏感;
  m:multiple lines 多行搜索

highlight(str, key) {

                        var reg = new RegExp(`(${key})`, 'gi');

                        var replace = `${'$&'}`; 

                        return str.replace(reg, replace);

 },

这段就是js的所有内容了,html里需要写上v-html去显示js里做的改变

这里js中的span标签还可以这样写,页面上没发现不同

var replace = '$1';

字符串参数
$$ 插入一个 “$”。
$& 插入匹配的子串。
$` 插入当前匹配的子串左边的内容。
$’ 插入当前匹配的子串右边的内容。
$n 假如第一个参数是 RegExp对象,并且 n 是个小于100的非负整数,那么插入第 n 个括号匹配的字符串。提示:索引是从1开始。如果不存在第 n个分组,那么将会把匹配到到内容替换为字面量。比如不存在第3个分组,就会用“$3”替换匹配到的内容。
$ 这里Name 是一个分组名称。如果在正则表达式中并不存在分组(或者没有匹配),这个变量将被处理为空字符串。只有在支持命名分组捕获的浏览器中才能使用。

你可能感兴趣的:(servlet,html,javascript)