Не могу разобраться с регулярным выражением в JavaScript

Имеется следующий JavaScript-код:
var testStr = "Вчера я открыл 5 сайтов: www.mysite.ru, https://my-super-4an.ru, www.mysite.com, http://spuper-site.ru и Biggsite.Ru но вообще, мне больше нравиться домен в зоне .ru";
var rgeV = /\.ru/gi;
var result = testStr.match(regV);
for(i = 0; i < result.length; i++){
  document.write('<p>'+result[i]+'</p>');
}
Вопрос: «var result» — это массив? Но как же он может быть массивом, если у него нет текста. Запустил цикл с ".length". Как ".length" может распознать сколько символов в «result», если у него нет ни каких символов?


   Вопросы 0    231 0

Комментарии (2)

  1. Александр Мальцев # 0
    Askar, в переменной result у Вас находится массив.
    1. Текст, у Вас находится в переменной testStr.
    2. В переменной regV находится регулярное выражение.
    3. Переменной result метод match возвращает массив, состоящий из совпадений строки testStr с регулярным выражением regV. Массив возвращается потому что регулярное выражение содержит ключ g. Т.е. в элементах массива у Вас находятся все найденные результаты (подстроки).
    var testStr = "Вчера я открыл 5 сайтов: www.mysite.ru, my-super-4an.ru, www.mysite.com, spuper-site.ru и Biggsite.Ru но вообще, мне больше нравиться домен в зоне .ru";  //строка
    var regV = /\.ru/gi; //регулярное выражение
    var result = testStr.match(regV); //возвращает массив, т.к. в регулярном выражении есть флаг g. Кроме этого есть ещё и флаг i (регистр при поиске будет игнорироваться) //этот флаг g и обозначает что у Вас будет массив
    for(i = 0; i < result.length; i++) {
      ...
    }
    
    1. Askar # 0
      Спасибо за ответ

    Вы должны авторизоваться, чтобы оставлять комментарии.