gpt4 book ai didi

javascript - JS - 使用正则表达式在数组键中查找匹配项

转载 作者:行者123 更新时间:2023-11-30 06:37:06 24 4
gpt4 key购买 nike

有一个数组

var words =new Array(
'apple',
'apa',
'found',
'stackoverflow',
'will'
);

和一个变量

var search = 'papa.com';

现在我想设置这样一个表达式

var Flag=false;
var regexp;
for(var i in words)
{
regexp = new RegExp('(^(.*\.))?' + words[i] + '\.([a-z]{2,3})(\.(\w+))?','i');
if (regexp.test(search)) {Flag=true;}
}
alert (Flag);

循环应该逐一获取words 数组键,然后设置正则表达式并根据构建的表达式测试search 变量,如果其中一个或更多匹配 Flag 将以 true 出现。

但是,id 不起作用。

最佳答案

当您从字符串构建正则表达式时,您需要转义转义序列。这是因为字符串文字表示法中的 \ 也开始转义序列,因此 \ 被删除。

要在从文字语法构建的字符串中包含文字 \ 字符,您需要 \\

regexp = new RegExp('(^(.*\\.))?' + words[i] + '\\.([a-z]{2,3})(\\.(\\w+))?','i');

您的正则表达式以 . 而不是 \. 结尾,这当然具有非常不同的含义。

关于javascript - JS - 使用正则表达式在数组键中查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736041/

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