Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2011, 13:59
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Регулярные выражения. Разница, если String и RegExp методы
Есть такой пример в учебнике:

var reg = /[-()\.^]/g;

Первый случай. С методом match():
var str = "f.(g)-^1".match(reg);
alert(str);    //  .,(,),-,^

Выводит результат полностью. Формирует массив для всех совпадений.

Второй случай. С методом exec(). Чтобы увидеть все совпадения, нужно перечислять по очереди:
var a = re.exec("f(g)-.^1");
var b = re.exec("f(g)-.^1");
var c = re.exec("f(g)-.^1");
alert(a);   // (
alert(b);   // )
alert(c);   // -

и т.д. И в массив заносит только ОДИН результат - текущей проверки.

Но в справочнике указано, что exec() "формирует массив результатОВ или null". Не могу понять, где ошибка. Я проверил и у меня exec() НЕ формирует массив результатов. Формирует массив, но с ОДНИМ элементом. А не всеми, как match().
Вопрос, я неправильно вызываю? exec() может формировать массив со всеми результатами? или в справочнике все же ошибка?
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2011, 15:44
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от jsuse
exec() "формирует массив результатОВ или null"
Массив результатов, всё верно. Фишка вот в чём:

alert(/H(el)/.exec("Hello").join("\n"));
// Первый элемент - вся найденная подстрока. Второй элемент - скобка.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения и слеш wolfinil Общие вопросы Javascript 6 19.12.2010 19:38
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
регулярные выражения js smollvrn Javascript под браузер 4 18.10.2010 11:32
выдача всех результатов. регулярные выражения andreevich Общие вопросы Javascript 4 12.05.2010 16:52
Регулярные выражения вытаскивание по шаблону baal1988 Общие вопросы Javascript 27 09.10.2008 10:51