gpt4 book ai didi

javascript - 如何在 string.match 中添加循环值?

转载 作者:行者123 更新时间:2023-11-28 14:28:36 26 4
gpt4 key购买 nike

如何循环遍历字符串并将其值添加到 match 方法中的正则表达式中。我快要归零了尝试使用 /'str[i]'/g ,它也给出 null。

var str = "helloWorld";
var regResult;

for (var i = 0; i < str.length; i++) {
regResult = str.match(/str[i]/g); //gives null
};

最佳答案

现在,您的正则表达式正在匹配 str 后跟 i 范围内的单个字符 - 一个 i,这意味着它将匹配stri。要匹配变量 i,请尝试以下操作:

var str = "helloWorld";
var regResult;

for (var i = 0; i < str.length; i++) {
regResult = str.match(new RegExp('str' + i, 'g')); //gives null
};

这里我们创建一个正则表达式,其模式包含变量i的当前值。例如,如果 i 为 4,则将构造正则表达式,就好像您只是将 /str4/g 赋予 str.match .

编辑

为了反射(reflect)对问题所做的编辑,我提出的新解决方案如下:

var str = "helloWorld";
var regResult;

for (var i = 0; i < str.length; i++) {
regResult = str.match(new RegExp(str[i], 'g')); //gives null
};

此代码与上面的代码不同之处在于,它从 str 读取值 i。例如,如果 i 为 4 并且 str[4] = "h",则将构造正则表达式,就像您简单地给出 str 的值一样[4]str.match:str.match(/h/g)

关于javascript - 如何在 string.match 中添加循环值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com