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», если у него нет ни каких символов?
Как работает match с регулярным выражением в JavaScript?
Имеется следующий JavaScript-код:
Комментарии ()
Войдите, пожайлуста, в аккаунт, чтобы оставить комментарий.
1. Текст, у Вас находится в переменной testStr.
2. В переменной regV находится регулярное выражение.
3. Переменной result метод match возвращает массив, состоящий из совпадений строки testStr с регулярным выражением regV. Массив возвращается потому что регулярное выражение содержит ключ g. Т.е. в элементах массива у Вас находятся все найденные результаты (подстроки).