2016-05-17 21 views
0

文字列の最初の2文字として使用できる特定の2文字を確認するために、Regexを使って文字列を最初の2文字に一致させる必要があります。 ここで、最初の2文字が「XX」であると仮定します。Regex Javascript最初の2文字で文字列を一致させる

そして、私は一致する必要があり、文字列

  • ABCDS
  • XXDER
  • DERHJ
  • XXUIO

は、だから私は唯一の始まりの文字列を取得するには、このリストをフィルタリングする必要があります「XX」付き

コードIトライ

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);

+0

あなたは最初の2つの文字が同じであるかどうかをチェックしますか? – jcubic

+0

私は頭痛を避けるためにこれらのツールをお勧めします:https://regex101.com/&http://txt2re.com/ – Bigood

+0

いいえ。「XX」で始まる文字列をチェックしたい – tarzanbappa

答えて

4

単純にこれを試してみてください

var filteredMatches = arr.filter(function(val){ 
    return val.indexOf("XX") == 0; 
}); 
1

を試してみてください 'XX' で始まる文字列をチェックするための正確な正規表現パターンになりますどのようなDこれまで

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); 
} 
}); 

0

私は、文字列の一致を提案:

var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ]; 
 

 
var r = arr.filter(x => x.match(/^XX/)) 
 

 
console.log(r)

あまり複雑な正規表現で
0

使用filter

var filtered = arr.filter(function (el) { 
    return /^X{2}/.test(el); 
}); 

DEMO

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); 
} 
}); 
  • ^は試合がライン
1

の初めにあなたは単にJavaScriptの.startsWith()方法を使用できることを意味します。

var arr = [ "ABCDS ", "XXDER ", "DERHJ ", "XXUIO" ]; 
 

 
var filteredArr = arr.filter(function(val){ 
 
    return val.startsWith("XX"); 
 
}); 
 

 
console.log(filteredArr);

関連する問題