Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему повисает регулярное выражение
 
 автор: senglory   (24.11.2008 в 06:00)   письмо автору
143.8 Кб
 
 

При натравливании на приаттаченный файл вот такое выражение

<td\s+valign="middle"\s+class="border"\s+align="center">\s*
<a\s+href="/rescan/

(?<ScanID>[\d+]+?
)
/">.+?(?=</a>)</a>
\s*</td>\s*<td(?:[^>]+?)>
(?<ScanUserAndGUID>[^<]+?)(?=</td>)</td>\s*
<td(?:[^>]+?)>
(?<Date>
[^<]+?
)
</td>
\s*
<td(?:[^>]+?)>(?:.+?)<a(?:[^>]+?)>(?:.+?)<img(?:[^>]+?)>
\s*
<span>    \s*


(?<Hosts>
[\x20-\x7F]+?)\s*(?=</span>
)</span></a></td>
\s*
<td(?:[^>]+?)><b>
(?<Cost>[\x20-\x7F]+)\s*(?=</td>)</td>\s*?<td(?:[^>]+?)>\s*
(?:
<img\s+ src="/static/images/

(?<ScanStatus>
[\x20-\x7F]+(?=.gif")
)

.gif">
?){0,1}
\s*
</td>\s*<td(?:[^>]+?)>
\s*
(?<RescanEligibilty>.+?(?=</td>))
</td>
\s*<td(?:[^>]+?)>
(?<PCIStatus>
.+
?){0,1}
</td>
\s*<td(?:[^>]+?)>\s*<a\s+href=\"(?<CSV>.+?)\"\s*>(\d*)</a>\s*</td>
\s*
<td(?:[^>]+?)>
\s*
<table>
(?<PDFS>.*?(?=</td>))</td>



А если выделенный жирным кусок удалить, то все ОК.

Почему и как это исправить?

  Ответить  
 
 автор: AcidTrash   (24.11.2008 в 21:06)   письмо автору
 
   для: senglory   (24.11.2008 в 06:00)
 

Много букв, не осилил.

>А если выделенный жирным кусок удалить, то все ОК.
По моему вы сами придумали ответ, или нет?

  Ответить  
 
 автор: xx77   (24.11.2008 в 21:49)   письмо автору
 
   для: senglory   (24.11.2008 в 06:00)
 

В каком смысле повисает ?

Много лишних букв )

<?
$reg 
'#<td\s+valign="middle"\s+class="border"\s+align="center">\s* 
<a\s+href="/rescan/ 

(?<ScanID>\d+

/">.+?</a> 
\s*</td>\s*<td[^>]+> 
(?<ScanUserAndGUID>[^<]+)</td>\s* 
<td[^>]+?> 
(?<Date> 
[^<]+ 

</td>\s*<td[^>]+?>.+?<a[^>]+?>.+?<img[^>]+?>

\s*<span>\s* 


(?<Hosts> 
[\x20-\x7F]+?)\s*(?=</span> 
)</span></a></td> 
\s* 
<td[^>]+><b> 
(?<Cost>[\x20-\x7F]+)\s*</td>\s*?<td[^>]+>\s* 
(?: 
<img\s+ src="/static/images/ 

(?<ScanStatus> 
[\x20-\x7F]+?(?=.gif") 

.gif">)
\s*

</td>\s*<td[^>]+> 
\s*
(?<RescanEligibilty>.+?)</td> \
\s*<td[^>]+> 
(?<PCIStatus> 
.*?) 
</td> 
\s*<td[^>]+>\s*<a\s+href=\"(?<CSV>.+?)\"\s*>(\d*)</a>\s*</td> 
\s* 
<td[^>]+> 
\s* 
<table> 
(?<PDFS>.*?)</td>#sx'
;

preg_match_all($regfile_get_contents('xx.htm'), $out);
print_r($out);
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования