Что нового

[RegExp] Регулярное выражение для изменяющегося адреса картинки

-ZIG-ZAG-

Новичок
Сообщения
24
Репутация
1
Доброго времени суток!
Помогите с такой проблемой- надо из HTML получить URL на рисунок. Сколько промучился шо то так и не получилось рабочего варианта.
Сам урл рисунка http://im.anykey.ru/work_codes/15307-57/2889321--367371.jpeg
Урл изменяет все цифры, например становится таким: http://im.anykey.ru/work_codes/73856-34/3895463--153784.jpeg
Как по шаблону получать этот URL?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
-ZIG-ZAG-
на заметку, мы не используем слово урл, и другие подобные. прочитай вот это
пункт В.8
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Код:
#Include<Array.au3>
$sText = "http://im.anykey.ru/work_codes/15307-57/2889321--367371.jpeg"  & @CRLF & _ 
              "http://im.anykey.ru/work_codes/73856-34/3895463--153784.jpeg" & @CRLF & _ 
	 "fghddddddddddddddddddddddddd"
$sPatern = "http://im.anykey.ru/work_codes/\d+-\d+/\d+--\d+\..+"
$aResult = StringRegExp( $sText, $sPatern, 3 )
_ArrayDisplay($aResult, ' Test Result ')


или если только jpeg:
Код:
$sPatern = "http://im.anykey.ru/work_codes/\d+-\d+/\d+--\d+\.jpeg"
 
Автор
Z

-ZIG-ZAG-

Новичок
Сообщения
24
Репутация
1
gregaz Спасибо большое за оперативную помощь! Вопрос решен.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Надо было привести файл(текст-HTML).
Надо учесть наличие кавычек обязательно
Так корректней будет :
Код:
#Include<Array.au3>
$sText = 'dfgdfgdg "http://im.anykey.ru/work_codes/15307-57/2889321--367371.jpeg" gdfgdf'  & @CRLF & _ 
'"http://im.anykey.ru/work_codes/73856-34/3895463--153784.jpeg" dfgdfgdg'  & @CRLF & _ 
'"yuiyiyuiyiyiyuyui"'

$sPatern = '"(http://im.anykey.ru/work_codes/\d+-\d+/\d+--\d+\.jpeg)"'
$aResult = StringRegExp( $sText, $sPatern, 3 )
_ArrayDisplay($aResult, ' Test Result ')
 
Автор
Z

-ZIG-ZAG-

Новичок
Сообщения
24
Репутация
1
Как говорится из кочки да в яму, сразу же возникла еще одна трудность.
Нужно найти определенный текст в html , и от него получить первую по счету ссылку вида http://www.anykey.ru/object-info.php?id=Число
возникла трудность с этим участком в адресе ?id
Как указать что это не элемент шаблона, а часть текста ?
и такую тоже не находит http://www.anykey.ru/warlog.php?warid=347043522
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
-ZIG-ZAG- [?]
и от него получить первую по счету ссылку
Малопонятно условие.
Надо приводить фрагмент HTML-текста.
Может Так ?
Код:
#Include<Array.au3>
$sText = 'assassasaa"http://www.anykey.ru/warlog.php?warid=347043522"' & @crLF & _
'dfdfdfdfdfddfdfghjghjghj"http://www.anykey.ru/object-info.php?id=123456"fghfghfhfgh'

$sPatern = '"(http://www.anykey.ru/.*?id=\d+)"'
$aResult = StringRegExp( $sText, $sPatern, 1 )
_ArrayDisplay($aResult, ' Test Result ')


Если не так, передвинь скобку ")" левее
 
Верх