通过forEach将变量插入正则表达式[重复]

Posted

技术标签:

【中文标题】通过forEach将变量插入正则表达式[重复]【英文标题】:insert variable via forEach into regex expression [duplicate] 【发布时间】:2018-10-02 18:25:42 【问题描述】:

如下所示,我试图计算字符串 J 中的一个字符在字符串 S 中出现的次数。唯一的问题是我不能将 forEach 循环中的参数 o 放入正则表达式中,如图所示在 console.log 中。

var numJewelsInStones = function(J, S) 
    let jArr = J.split('');
    let sArr = S.split('');

    jArr.forEach(o=>
    console.log(S.replace(/[^o]/g,"").length);      
    )
;

numJewelsInStones("aA", "aAAbbbb");

【问题讨论】:

【参考方案1】:

您可以使用传递字符串参数的构造函数创建正则表达式:

new RegExp('[^' + o + ']', 'g')

您的替换逻辑可能如下所示:

S.replace(new RegExp('[^' + o + ']', 'g'), '')

【讨论】:

以上是关于通过forEach将变量插入正则表达式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jmeter-Foreach控制器与正则表达式

如何在正则表达式中包含变量[重复]

Perl正则表达式选项存储在变量中[重复]

perl学习正则表达式处理文本

通过正则表达式拆分字符串[重复]

c# 正则表达式捕获