javascript - javascript中的正则表达式获取以特定字符串开头的数组的所有字段

标签 javascript regex

var myArr=["test1.nameA", "test1.nameB", "test2.nameC", "test2.nameA"];

我想获取以“test1”开头的字符串。

我尝试过以下方法:

1)您能否告诉我为什么我仍然获取数组中的所有字符串?

   for (var i = 0; i < myArr.length; i++) {
            if ((myArr[i]).search(new RegExp("test1") != -1)) {
                console.log(myArr[i]);
            }
        }

但是这个返回所有元素!我究竟做错了什么?

2)还可以检查它是否仅以“test1”开头而不仅仅是包含!

更新了问题:

myArr=["test1.nameA", "test1.nameB", "test2.nameC", "test2.nameA"]; 
var input="test1"; 
for (var i = 0; i < myArr.length; i++) { 
if(myArr[i].search( new RegExp (/input/)) != -1) { 
     console.log(myArr[i]); 
} 
}

谢谢!如果您需要更多说明,请告诉我

最佳答案

您可以使用 Array.prototype.filter 仅保留与正则表达式匹配的值,如下所示:

myArr.filter(function (i) { return /^test1\./.test(i); })

要检查某些内容是否以字符串开头,请使用 /^string/。注意^

关于javascript - javascript中的正则表达式获取以特定字符串开头的数组的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27220876/

相关文章:

javascript - ES6 : tagged templates for nested html tags

javascript - 在 Protractor 测试中获取和使用属性

javascript - 这个正则表达式可能吗?

javascript - 通过 jQuery 将多个项目添加到表单

javascript - 如何将类和文本替换为按钮

javascript - 计算 click() 函数被使用了多少次

java - 模式计数在 0's and stat and end with "1"之间

C# - 正则表达式替换(如果不在引号内)

javascript 带有标记 '\' 的正则表达式无效

Java简单正则表达式错误