Любой символ включая перенос

Тема в разделе "Регулярные выражения", создана пользователем TrastMan, 26 дек 2011.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Использую
    Код:
    (.*?)
    для обозначения любых символов, но если внутри есть перенос строки, это не срабатывает.
     
  2. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    В конце обычно добавляю [\n\r]+ - плюс, значит может быть несколько переходов строки
     
  3. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    А можно с рабочими примерами? Как я не пробовал, питон постоянно сообщает, что индекс выходит за пределы списка. Не понял что за ошибка такая...
     
  4. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Пиши конкретный пример что на что нужно заменить.
    Советую поставить на комп RegexBuddy - тестер регулярок.
    Вообще очень полезная штука, если нужно в тексте что-то заменить, с генерировать и т.п.
     
  5. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    В данном случае собрать ссылочки с определенным параметром
    Код:
    '(\href=(\"|\')(.*?)(\"|\')><span itemprop)'
    Таскать пока приходится url[2], тоже создает определенны неудобства. С переводами строки не срабатывает.
     
  6. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Попробуйте так
    /(.*?)/m для любого preg_ выражения.
    m - использовать мультистроки.
     
  7. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Пиши кусок исходного обрабатываемого файла (несколько строк, в не изменённом виде)
    И то, что хочешь получить на выходе.

    Можешь залить сам файл, вытащу ссылки.
     
  8. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Не, все равно "list index out of range"(

    Тут дело не в одном файле, а в универсальности. В моем случае перенос строки осуществлялся между тегами<a>. Выглядит это так:
    Код:
    <div class="class"><a href="url.html">
    <img src="img.jpg" alt="alt"></a>
    Задача собрать все ссылки залинкованные с картинок. "class" использовать нельзя, он может быть разным или не быть. Перенос может быть, может не быть.
    На вскидку ссылки с https://www.nulled.cc на последнюю отвеченную тему в каждом разделе, если условием регулярки будет "<span class="lastThreadMeta">" после "<a>". Там как раз есть перенос...
     
  9. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    Код:
    <a[^>]+href=['"](.*?)['"][^>]*>\s*<img[^>]+>\s*</a>
     
  10. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    HTML:
    <div class="class"><a href="url.html">
    <img src="img.jpg" alt="alt"></a>
    <div class="class"><a href="url.html"><img src="img.jpg" alt="alt"></a>
    <div class="class"><a href="url.html">
    <img src="img.jpg" alt="alt"></a>
    <a href="url.html"><img src="img.jpg" alt="alt"></a>
    PHP:
    /href=\"(.*?)\">.*?<img/si
    выхлоп
     
Статус темы:
Закрыта.