Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить регулярку 
V
    Опции темы
Grost
Дата 18.2.2011, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 26.8.2010
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте.

После выполнения скрипта:
Код

#!usr/bin/perl -w
use LWP::UserAgent;

if($ARGV[0]){
  my $site = 'http://www.cbr.ru/other/print.asp?file=holidays_'.$ARGV[0].'.htm';
  my $UA = LWP::UserAgent->new;
  my $result = $UA->get($site);
  my $x=0;
  open HD, ">> C:/content\.txt" or die "HOLIDAY-> $!\n";
  my $str = $result->content;
  $str =~ s/(\s[^>]\n)|(\t)//g;
  print HD $str;
  close HD;
}


Получается примерно такое содержимое:
Код

...
</table>
<table border="0" width="100%" id="table3" cellspacing="1">
<tr>
<td width="35%">&nbsp;</td>
 <td valign=top>
 1, 2, 3, 4, 5 января – Новогодние каникулы;</td>
</tr>
<tr>
<td>&nbsp;</td>
 <td valign=top>
 6 января – выходной;</td>
</tr>
<tr>
<td>&nbsp;</td>
 <td valign=top>
 7 января – Рождество Христово;</td>
</tr>
<tr>
<td>&nbsp;</td>
 <td valign=top>
 8 января – выходной;</td>
</tr>
<tr>
<td>&nbsp;</td>
 <td valign=top>
 9 января – выходной;</td>
</tr>
...


Хочу удалить перенос строки:
 <td valign=top>
 9 января – выходной;</td>

в скрипт добавляю регулярку:
$str =~ s/<td valign=top>\n/<td valign=top>/g;

Но результата нуль.. подскажите как составить регулярку чтобы он не переносил на новую строку.
PM MAIL ICQ   Вверх
arto
Дата 18.2.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



gs
PM MAIL ICQ   Вверх
Grost
Дата 18.2.2011, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 26.8.2010
Где: Москва

Репутация: нет
Всего: нет



$str =~ s/<td valign=top>\n/<td valign=top>/gs
не получилось

$str =~ s/\n//g
Выдаёт текст без переносов строк, но когда в блокноте открываю там на месте переносов стоят квадраты.

Возможно накосячил регуляркой:
$str =~ s/(\s[^>]\n)|(\t)//g;
PM MAIL ICQ   Вверх
GoDleSS
Дата 19.2.2011, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: 2
Всего: 2



Скорее всего там у вас перенос виндовый \r\n.
Подключим все возможные варианты, на всякий:
Код
$str=~s/<td valign=top>[\r\n\s\t]+/<td valign=top>/g;

--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
Grost
Дата 21.2.2011, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 26.8.2010
Где: Москва

Репутация: нет
Всего: нет



Да, действительно стоял \r\n. Спасибо за помощь smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1021 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.