我必须使用正则表达式匹配字符串的前两个字母来检查特定的两个字符,这两个字符可用作字符串的前两个字母。 这里假设前两个字符是' XX'。
我需要匹配的字符串是
所以我需要过滤此列表以获取仅以' XX'
开头的字符串 到目前为止我尝试过的代码var filteredArr = [];
var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ];
var re = new RegExp('^[a-zA-Z]{2}');
jQuery.each( arr, function( i, val ) {
if(re.test(val )){
filteredArr.push(val);
}
});
检查以' XX'
开头的字符串的确切正则表达式模式是什么?答案 0 :(得分:5)
只需尝试
var filteredMatches = arr.filter(function(val){
return val.indexOf("XX") == 0;
});
答案 1 :(得分:3)
您只需使用JavaScript .startsWith()
方法。
var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ];
var filteredArr = arr.filter(function(val){
return val.startsWith("XX");
});
console.log(filteredArr);

答案 2 :(得分:1)
试试这个:
var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ];
// match if two letters at the beginning are the same
var re = new RegExp('^([a-zA-Z])\\1');
var filteredArr = arr.filter(function(val) {
return re.test(val);
});
document.body.innerHTML = JSON.stringify(filteredArr);

答案 3 :(得分:1)
var filteredArr = [];
var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ];
var re = new RegExp('^XX');
jQuery.each( arr, function( i, val ) {
if(re.test(val )){
filteredArr.push(val);
}
});
答案 4 :(得分:0)
我建议字符串匹配:
var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ];
var r = arr.filter(x => x.match(/^XX/))
console.log(r)

答案 5 :(得分:0)