Найти - Пользователи
Полная версия: Не жадное регулярное выражение
Начало » Python для экспертов » Не жадное регулярное выражение
1 2 3
lorien
> это можно сделать, но так как смысла нет, то и не делают

Простите, не понял, что вы написали такое.
py.user.next
lorien
Простите, не понял, что вы написали такое.
xml - слишком специфичная задача, чтобы полностью реализовывать весь xpath прямо сейчас
html-код модулем xml не разберёшь, а поиск с xpath требуется там, где есть много произвольно меняющихся данных, быстро меняющихся структур документов

lorien
Я бы пользовался.
он сторонний, его нужно доустанавливать
bismigalis
inzem
Почему первое .*? срабатывает как жадное?
In : re.search(r'<.*?categ.*?>',

нормальное поведение, у Фридла всё расписано

сначала ищется lt, затем захватываются любые символы(в том числе lt) до categ, потом любые до gt.
lorien
> не, я имел в виду модуль xml, что он не подходит для разбора html-кода, потому что выпадает, когда встречает незакрытый тег если бы он подходил, никто бы не пользовался сторонним lxml

Ещё раз пишу, что слово “никто” здесь не уместно так как, как минимум, я продолжал бы пользоваться lxml т.к. он предоставляет поддержку xpath. Вот и всё, что я хотел сказать.
inzem
bismigalis
re.search(r'<.*categ.*?>' вот так должно быть захватываться все в том числе lt
bismigalis
inzem
вот так должно
в твоих фантазиях
inzem
bismigalis
http://docs.python.org/2/howto/regex.html#greedy-versus-non-greedy
bismigalis
'<.*?>'
захват любых символов прекратится при встрече ‘>’
'<.*?categ.*?>'
захват любых символов прекратится при встрече ‘categ’

тебе надо было написать
'<[^<]*?categ.*?>'
inzem
bismigalis
ок, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB