![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Что означает такая конструкция
в регулярном выражении?
Нашел ее, когда искал как выявлять ссылки из html-кода. На мой взгляд она аналогична Но если меняешь, то ничего не работает. Пример для тестирования. package { import flash.events.Event; import flash.net.*; import flash.display.*; public class Main extends MovieClip { var loader:URLLoader = new URLLoader(); var str:String= ''; var regExp = /<a([^>]+)>(.+?)<\/a>/gis; public function Main() { var pageLink:URLRequest = new URLRequest("http://technoflash.ru"); loader.load(pageLink); loader.addEventListener(Event.COMPLETE, onComplete); } function onComplete(event:Event):void { trace(loader.data.match(regExp)) } } }
__________________
Мой профиль на фрилансе |
|
|||||
|
М. Секунду. Я проверил, первая регулярка вытаскивает только один символ, тогда как вторая может вытащить многим больше.
Добавлено через 1 минуту Символ "?" применителен для одного символа или группы. Поэтому нужно ему подавать группу, без нее он вытаскивает лишь один символ.
__________________
тут я |
|
|||||
|
А что ж во втором это значит, что ? вообще не работает?
__________________
Мой профиль на фрилансе |
|
|||||
|
Наблюдаю, то, что и хочу получить
Цитата:
Добавлено через 11 минут Все нашел-нашел-нашел! Разобрался: Цитата:
__________________
Мой профиль на фрилансе Последний раз редактировалось SvetozarPNZ; 23.05.2014 в 16:44. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Кратко:
Есть строка "abaca". Есть регулярка /a((.+)?)a/ Она выдаст тебе "b". Без знака вопроса (/a(.+)a/) она выдаст "bac". |
|
|||||
|
Цитата:
2MikroAcse, ты не о том. Обрами свои регулярки в ^ И $ и увидишь, что у тебя они идентичны, так как ты используешь "?" для группы. И в первой регулярке можно смело снести внешнюю пару скобок, чтобы итоговый результат не давал лишнее совпадение.
__________________
тут я |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
КорДум, ага. Спасибо за пояснения.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|