Чтобы ответить на часть Javascript, вот один из способов «grep» через массив, чтобы найти подходящие элементы:
var matches = [];
var re = /whatever/;
foo.forEach(
function(el) {
if( re.exec(el) )
matches.push(el);
}
);
Чтобы попытаться ответить на часть регулярного выражения: я не знаю, что означает для вас «точное совпадение», и я предполагаю, что «некоторое пространство» принадлежит только между другими терминами, и я предполагаю, что буквы означают английский алфавит от 'a' до 'z' в нижнем и верхнем регистре и цифры должны быть 0-9 (в противном случае могут совпадать символы других языков).
Первым шаблоном будет / [a-zA-Z0-9] + \ s * 0960000 /. Измените "\ s *" на "\ s +", если есть хотя бы один пробел вместо нуля или более пробелов. Измените "\ s" на "", если сопоставление символа табуляции (и некоторых менее используемых пробелов) нежелательно.
Для второго паттерна я не знаю, что означает «числа 01xg», но если это означает числа, за которыми следует эта строка, то паттерн будет / [a-zA-Z0-9] + \ s * [ 0-9] + \ с * 01xg \ s * 0960000 /. Применяются те же предостережения, что и выше.
Кроме того, это будет соответствовать частичной строке. Если строка полностью совпадает (если в строке не должно быть ничего, кроме того, которое сопоставляется), добавьте «^» в начало шаблона, чтобы привязать его к началу строки, и «$» в конце привязать его к концу строки. Например, / [a-zA-Z0-9] + \ s * 0960000 / соответствует «foo_bar 5 0960000», а / ^ [a-zA-Z0-9] + \ s * 0960000 $ / - нет.
Подробнее о регулярных выражениях в Javascript см. Статью developer.mozilla.org об объекте RegExp (ссылка ведет на ссылку на версию 1.5 JS, которая должна применяться ко всем JS-совместимым). браузеры).
(отредактировано для добавления) : чтобы соответствовать любой ситуации, поскольку они имеют перекрывающиеся части, вы можете использовать следующий шаблон: / [a-zA-Z0-9] + (?: \ S * [0-9] + \ с * 01xg)? \ s * 0960000 /. Вопросительный знак говорит, чтобы соответствовать части, которая отличается - в несоответствующей группе (?: Foo) - один раз или ноль раз. (?: Foo)? и (?: foo |) делают то же самое в этом случае, но я не уверен, есть ли разница в производительности; Я бы порекомендовал использовать тот, который наиболее вам подходит, чтобы вы могли прочитать его позже.