我有一个数组列表。我想获取以“tar”开头的项目和后面跟着的数字
var array = ["dataseqno", "yrsno", "tar01", "tar02", "tar03", "tar04", "tar05", "tar06", "tar07", "tar08", "tar09", "tar10", "tar11", "tar12", "status"]
我将循环该数组并使用正则表达式进行检查。这是我尝试过的正则表达式。但我无法解决数字后跟“tar”的问题。
.match(/^tar+\[0-9]/)
最佳答案
在数组上使用filter()
,并将正则表达式更改为^tar[0-9]+
,如下所示:
var array = ["dataseqno", "yrsno", "tar01", "tar02", "tar03", "tar04", "tar05", "tar06", "tar07", "tar08", "tar09", "tar10", "tar11", "tar12", "status"];
var match = array.filter(str => str.match(/^tar[0-9]+/));
console.log(match);
这会检查元素是否在字符串开头以 tar
开头,然后包含任何数字。
正则表达式逐字符分割:
^
匹配字符串的开头
tar
匹配字符串tar
[0-9]
匹配字符集中 0-9 中的任意字符(将匹配 0
、1
、2
、3
、4
、5
、6
、7
、8
、 9
)
+
匹配一个或多个前一个选择器
关于javascript - 仅包含特定单词的过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54321393/