1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Как добавлять результаты regex match в массив в JS?

Тема в разделе "Техническая поддержка", создана пользователем sergeda, 1 апр 2018.

  1. sergeda

    sergeda A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    22 май 2013
    Сообщения:
    193
    Симпатии:
    23
    В результатах объявлен массив
    results: {
    arrays: {
    titles: ['Titles', [['title', 'Title']]]
    }
    }

    Есть response и regex который возвращает кучу элементов из response.
    Пытаюсь добавить их в результат вот так:

    if(results.titles !== undefined) {
    let regexp = /target="xwin1">(\d+)<\/a>/im;
    let res;
    this.logger.put('Going to parse data');
    while (res = regexp.exec(response.data)) {
    results.titles.push(res[1]);
    }
    this.logger.put('Finished with parsing data');
    }

    На этом Parser Test зависает и никогда не останавливается, приходиться парсер перестартовывать.
    Ни 'Going to parse data' ни 'Finished with parsing data' никогда не выводятся. Что я делаю не так и как сделать правильно?
     
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    while уходит в вечный цикл, чтобы такое не происходило надо добавить флаг /g к регулярному выражению
     
    sergeda нравится это.

Поделиться этой страницей