Сделать массив из регулярных выражений - PullRequest
15 голосов
/ 06 августа 2010

У меня есть эта строка:

{example1}{example2}{example3}

Это регулярное выражение, чтобы найти эти { anything in it }:

/\{.*?\}/g

Теперь я хочу знать, какпоместите их в массив, чтобы я мог сделать оператор for in.

Я хочу массив что-то вроде array("{example1}","{example2}","{example3}");?

Ответы [ 2 ]

15 голосов
/ 06 августа 2010
your_array = string.match( pattern )

http://www.w3schools.com/jsref/jsref_match.asp

12 голосов
/ 06 августа 2010
var matches = '{example1}{example2}{example3}'.match(/\{.*?\}/g);
// ['{example1}', '{example2}', '{example3}']

Смотрите здесь .

Кроме того, вам, вероятно, следует использовать цикл for для итерации по массиву. for in может иметь побочные эффекты, такие как сбор большего количества вещей для итерации по цепочке прототипов. Вы можете использовать hasOwnProperty(), но цикл for намного проще.

Для повышения производительности вы также можете кэшировать свойство length, прежде чем включать его в условие for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...