Найти в строке строгое соответствие шаблону
Здравствуйте! Ситуация:
Есть строковоя переменная: var a = '10,1,4,14,15,100,400,150'; Есть, другая, переменная со значением, которое нужно найти, регуляркой, в строке первой переменной. Например, 1 var b = 1; --- Требуется регулярка... для поиска значения в строгом соответствии со значением переменной b. Т.е. чтобы при поиске 1, находилась именно 1, а не 10 или 14, 15 и т.д. где есть цифра 1. Спасибо! |
Цитата:
да и не регуляркой это делается. есть варианты проще и быстрее |
какой вариант по вашему будет проще и быстрее? Хотелось бы услышать более конструктивную мысль; я ведь сюда за помощью обратился..
|
разбить строку в массив с помощью split
и найти в массиве indexof для новых браузеров или перебором массива и сравнением в любом развале быстрее отработает чем регулярка |
Спасибо! Так и решу!
|
по-моему, она будет такой:
new RegExp("(?:^|,)" + b + "(?:,|$)"); |
Цитата:
--- Но вот тут предложили вариант с предварительным разбитием строки в массив. Как считаете: какой вариант предпочтительнее? |
сплит быстрее отработает изза того что механизм поиска регулярок основан на возвратах и перемещениях по строке.
т.е сравнило с 1м символом в строке,-сравнило первый символ регулярки, сравнило второй символ регулярки.... потом со вторым и т.д разница будет зависеть от длинны строки |
Цитата:
|
var a = '10,1,4,14,15,100,400,150'; var b = 1; var mas=a.split(",") for(var i=0;i<mas.length;i++) if(b==mas[i]) alert(mas[i]); |
Часовой пояс GMT +3, время: 23:04. |