locked
[HTML + JS] Косяк с регулярными выражениями... RRS feed

  • Вопрос

  • Имею такой сайт, откуда надо спарсить заголовки новостей. Методом GET получил всю HTML в переменную. С помощью регулярок нашел заголовки новостей.

    Чтобы вытащить из этой строки заголовок:

    <a class="news_title" href="./detail.php?ID=34207">Приглашаем на "Философские среды" на тему "Месть"</a>

    Я написал такую регулярку

    var reg = /<a.*class=\"news_title\".*>(.*)<\/a>/ig;


    Беда в чём: в том, что вытягивается не только текст, но и разметка (вся вышеприведенная HTML-строка), а мне нужен только текст (заголовок новости). Обернул в non-capturing group, один фиг:

    var reg = /(?:<a.*class=\"news_title\".*>)(.*)(?:<\/a>)/ig;

    Как решить проблему? Проект универсального приложения с Hub/Pivot для 8.1.

    UPD: на regex-тестере всё работает очень хорошо. И в браузерах тоже всё норм. А вот Студия брыкается, не хочет только лишь текст извлекать!


    ©KW



    • Изменено Kenya-West 4 апреля 2015 г. 11:07
    4 апреля 2015 г. 11:05

Ответы

  • Проблема решена: оказывается, capturing groups в регулярных выражениях вносятся в массив, начиная с индекса 1. Достаточно было указать reg[1] и готово.

    ©KW

    6 апреля 2015 г. 8:37

Все ответы

  • Приведите полный пример вашего кода. 

    [custom.development]

    5 апреля 2015 г. 7:26
  • Проблема решена: оказывается, capturing groups в регулярных выражениях вносятся в массив, начиная с индекса 1. Достаточно было указать reg[1] и готово.

    ©KW

    6 апреля 2015 г. 8:37