Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вопрос по exec() (https://javascript.ru/forum/misc/26090-vopros-po-exec.html)

dadli 25.02.2012 12:05

вопрос по exec()
 
приветствую
вот код:
str = 'as2de3fr5f';
mas = /\d/.exec(str);
alert(mas[1]);


почему етот код возврашает "undefined"

цитата: "exec Выполняет поиск совпадений в указанной строке. Возвращает массив результатов или null"

если так, то по логику надо виведить "3", но не виведит, где я ошибаю?

melky 25.02.2012 12:08

рега соответствует строке длиной в один символ, коим является число.

Rootpassword 25.02.2012 12:09

во-первых, 2.
во-вторых, mas = /(\d)/.exec(str);

nerv_ 25.02.2012 12:10

потому, что гладиолус. Отладчик для кого придуман?
var str = 'as2de3fr5f';
var mas = /\d/.exec( str );
alert( mas[0] );

dadli 25.02.2012 12:12

melky,
да, ви прав, но как же работает exec() по логику он надо вазврашать из етои строки масив из трёх елементов
["2","3","5"]
не так?

nerv_ 25.02.2012 12:13

http://javascript.ru/basic/regular-expression
http://javascript.ru/tutorial/regexp-specials

dadli 25.02.2012 12:20

nerv_,
alert( mas[0] ) возврашает "2", и ето 100% понятно, не понятно почему alert( mas[1] ) виведит "undefined" ?
я сам регулярки хорошо знаю, просто не понял что сделает функця exec() ?
я думал что он вставливает в масиве все совпадении, но кожется не так, а что же он делает?

Rootpassword 25.02.2012 12:31

Exec-1. Вам нужен match и /g

dadli 25.02.2012 12:52

Rootpassword,
да правилно, спасибо болшое.
ага понял, значит exec() возврашает толко первое совпаденя

nerv_ 27.02.2012 17:16

Цитата:

Сообщение от dadli
я сам регулярки хорошо знаю, просто не понял что сделает функця exec() ?

Если знаете, тогда почему спрашиваете?
Цитата:

Сообщение от dadli
я думал что он вставливает в масиве все совпадении, но кожется не так, а что же он делает?

Если бы Вы перешли по ссылкам, приведенным мной выше, то данные вопросы не возникали.


Часовой пояс GMT +3, время: 16:26.