2016-05-17 7 views
0

Мне нужно сопоставить строку с помощью первых двух букв с помощью Regex, чтобы проверить наличие двух двух символов в виде двух символов. Здесь предположим, что первые два символа - «XX».Regex Javascript Строка совпадения по первым двум символам

И струны мне нужно, чтобы соответствовать являются

  • ABCDS
  • XXDER
  • DERHJ
  • XXUIO

Поэтому мне нужно отфильтровать этот список, чтобы получить строки, которые начинаются только с «XX»

код I trie 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); 
} 
}); 

Что будет точный шаблон Regex для проверки строки, начинающиеся с 'XX'

+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

Попробуйте это:

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

Я предлагаю струнный матч:

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

Смежные вопросы