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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убрать выражение из текста? 
:(
    Опции темы
Гость_CAT
  Дата 15.10.2005, 10:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помогите плиз, я вообще не разбираюсь в регулярных выражениях, но очень надо сделать слейдующее

Из текста (к примеру):

ВЕЛКИЙ НОВГОРОД. 13 октября. /СеверИнформ/. Новгородский областной суд отказался смягчить приговор начальнику криминальной милиции, осужденному за превышение должностных полномочий.

надо убрать с помощью рег.выражений- ВЕКИИЙ НОВГОРОД. 13 октября. /СеверИнформ/.

как?

  Вверх
korob2001
Дата 15.10.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Код

#!/usr/bin/perl -w
use strict;

my $str = "ВЕЛКИЙ НОВГОРОД. 13 октября. /СеверИнформ/. "
        . "Новгородский областной суд отказался смягчить "
        . "приговор начальнику. криминальной милиции, "
        . "осужденному за превышение должностных полномочий.";

my @temp = split(/\//, $str);
shift @temp for (1..2);
$str = join("/", @temp);
$str =~ s/^\.?\s+//;
print $str;


Это сообщение отредактировал(а) korob2001 - 15.10.2005, 11:56


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sharq
Дата 15.10.2005, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


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

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



Первый вариант - поиск по шаблону:

Код

my $str = 'ВЕЛКИЙ НОВГОРОД. 13 октября. /СеверИнформ/. Новгородский областной суд отказался смягчить приговор начальнику криминальной милиции, осужденному за превышение должностных полномочий.';

$str =~ s{^[А-Я\s]+\.\s\d+\s[а-я]+\.\s/[А-Яа-я]+/\.\s}{}smg;

print "Str: $str\n";



Второй вариант - разбиение по точкам:

Код

my $str = 'ВЕЛКИЙ НОВГОРОД. 13 октября. /СеверИнформ/. Новгородский областной суд отказался смягчить приговор начальнику криминальной милиции, осужденному за превышение должностных полномочий.';

my @array = split /\.\s/, $str;

print "Str: $array[3]\n";


smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Гость_CAT
Дата 15.10.2005, 13:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть такой исходник страницы -
<tr>
<td><p class="text" align="justify">ВЕЛИИЙ
НОВГОРОД. 13 октября. /СеверИнформ/. Новгородский областной суд
отказался смягчить приговор начальнику криминальной милиции,
осужденному за превышение должностных полномочий.

Требуется создать шаблон, что-бы текст получился без этой фразы - "ВЕЛИИЙ НОВГОРОД. 13 октября. /СеверИнформ/." как это можно осуществить при помощи регулярных выражений

При помощи того что вы предложили ниче не получается smile
  Вверх
sharq
Дата 15.10.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


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

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



Гость_CAT сразу не мог написать то, что тебе нужно? smile

Чтобы заработало все, возьми первый вариант мой и удали ^.
Читай документацию по re!

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
korob2001
Дата 15.10.2005, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Я так понимаю тебе нужно парсить HTML, структуру которого предугадать невозможно, если конечно ты сам его не пишешь? Если да, то читай документацию по HTML::Parser


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sharq
Дата 15.10.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


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

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



korob2001 если задача проста, то можно обойтись одними регулярными выражениями, нет необходимоси прибегать к модулям.

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Usya
Дата 15.10.2005, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У этой задачи много решений. Одно из них

Код

$e='<td><p class="text" align="justify">ВЕЛИИЙ НОВГОРОД. 13 октября. /СеверИнформ/. Новгородский областной суд отказался смягчить приговор начальнику криминальной милиции, осужденному за превышение должностных полномочий.</p></td>';
$e=~ /ВЕЛИИЙ НОВГОРОД. 13 октября. \/СеверИнформ\/. (.*?)<\/p>/is;
print $1;


Все зависти от того, что ты вообще собираешься делать.

Кстати, можешь кое-что отсюда подчерпнуть http://www.webcode.ru/re/table/.

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


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

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


 




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


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

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