Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 22.11.2016, 13:12
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 1  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
По умолчанию RegExp банально, нужно разрешить пробел между символами

Я что-то уже туплю. Написал за свою практику кучу регулярок, а тут тормознулся на такой мелочи
В общем, нужно распарсить html страницу, на которой есть списки со ссылками.
Так вот, есть ссылки вида <li><a href="/something/somethingelse/">Что-то</a>
Таких ссылок в коде страницы дофига, и все они ведут в подменю сайта. Нужно в мобильном приложении собрать это же меню с такой же структурой.
Загвоздка в том, что ссылки не всегда написаны именно так. Иногда там есть пробелы, любезно забытые разработчиком в php коде)
Собственно, ссылка иногда выглядит вот так: <li > <a href="/something/somethingelse/">
Пишу регулярку с look ahead и look behind
Код AS3:
var regExp:RegExp = /(?<=\<li><a href=\"\/)(.*?)(?=\<\/a><\/li>)/g;
var result:Array = pageText.match(regExp);
Она отлично находит ссылки первого вида (без пробелов).
А вот такая регулярка, находит второй вид
Код AS3:
var regExp:RegExp = /(?<=\<li > <a href=\"\/)(.*?)(?=\<\/a><\/li>)/g;
Видимо я действительно дико туплю и нужно пойти отдохнуть, но не могу придумать как в лук ахэд мне воткнуть любое количество пробелов
Код AS3:
var regExp:RegExp = /(?<=\<li\s*>\s*<a href=\"\/)(.*?)(?=\<\/a><\/li>)/g;
Такой вариант, не работает. Не работает так же если этот символ пробела обернуть в символьный класс или в диапазон

п.с. Доступа к исходному коду сайта нет
__________________
Ко мне можно и нужно обращаться на ты)

Создать новую тему   Часовой пояс GMT +4, время: 00:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.