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

Статус
В этой теме нельзя размещать новые ответы.

TrastMan

Постоялец
Регистрация
13 Ноя 2007
Сообщения
117
Реакции
4
Использую
Код:
(.*?)
для обозначения любых символов, но если внутри есть перенос строки, это не срабатывает.
 
В конце обычно добавляю [\n\r]+ - плюс, значит может быть несколько переходов строки
 
А можно с рабочими примерами? Как я не пробовал, питон постоянно сообщает, что индекс выходит за пределы списка. Не понял что за ошибка такая...
 
Пиши конкретный пример что на что нужно заменить.
Советую поставить на комп RegexBuddy - тестер регулярок.
Вообще очень полезная штука, если нужно в тексте что-то заменить, с генерировать и т.п.
 
В данном случае собрать ссылочки с определенным параметром
Код:
'(\href=(\"|\')(.*?)(\"|\')><span itemprop)'
Таскать пока приходится url[2], тоже создает определенны неудобства. С переводами строки не срабатывает.
 
Попробуйте так
/(.*?)/m для любого preg_ выражения.
m - использовать мультистроки.
 
Пиши кусок исходного обрабатываемого файла (несколько строк, в не изменённом виде)
И то, что хочешь получить на выходе.

Можешь залить сам файл, вытащу ссылки.
 
Попробуйте так
/(.*?)/m для любого preg_ выражения.
m - использовать мультистроки.
Не, все равно "list index out of range"(

Пиши кусок исходного обрабатываемого файла (несколько строк, в не изменённом виде)
И то, что хочешь получить на выходе.

Можешь залить сам файл, вытащу ссылки.
Тут дело не в одном файле, а в универсальности. В моем случае перенос строки осуществлялся между тегами<a>. Выглядит это так:
Код:
<div class="class"><a href="url.html">
<img src="img.jpg" alt="alt"></a>
Задача собрать все ссылки залинкованные с картинок. "class" использовать нельзя, он может быть разным или не быть. Перенос может быть, может не быть.
На вскидку ссылки с Для просмотра ссылки Войди или Зарегистрируйся на последнюю отвеченную тему в каждом разделе, если условием регулярки будет "<span class="lastThreadMeta">" после "<a>". Там как раз есть перенос...
 
Код:
<a[^>]+href=['"](.*?)['"][^>]*>\s*<img[^>]+>\s*</a>
 
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

выхлоп
array(2) {
[0]=>
array(4) {
[0]=>
string(22) "href="url.html">
<img"
[1]=>
string(20) "href="url.html"><img"
[2]=>
string(22) "href="url.html">
<img"
[3]=>
string(20) "href="url.html"><img"
}
[1]=>
array(4) {
[0]=>
string(8) "url.html"
[1]=>
string(8) "url.html"
[2]=>
string(8) "url.html"
[3]=>
string(8) "url.html"
}
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху