2023-11-10【技术】关于正则表达式中的变量问题

let a="TextRank是一种基于图的排序算法,可以用于自动提取文章的关键词和摘要。它通过将文章转换成图的形式,然后计算每个节点(单词)的重要性得分,最后选取得分最高的节点作为关键词或摘要。目前,有很多付费软件都使用了TextRank算法。";
    let aArray=[...a];
    let content=[];
    for (let i = 0; i < aArray.length-1; i++) {
      let options=aArray[i]+aArray[i+1];
      console.log("options 的值为:",options)
      // let temp='/'+options+'/gi';
      let temp= new RegExp(options,'gi');
      console.log(temp);
      console.log(a);
      console.log(a.match(temp));
      let count = (a.match(temp) || []).length;
      console.log(count); // 输出2
        if(count>1){
          content.push(options);
        }
    }
    console.log(content);

当正则表达式中使用变量作为“筛选参数”时,要使用new RegExp()方法,而不能简单粗暴的使用'/'+变量名+'/gi'; 的方式,因为js会将其误认为字符串类型。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容