Forum Webscript.Ru

Программирование => Perl => Тема начата: C++ от 15 Апреля 2004, 13:32:18

Название: Регулярное выражение?
Отправлено: C++ от 15 Апреля 2004, 13:32:18
Мне нужно в строке удалить все символы, которые НЕ встречаются в шаблоне.
т.е. если, например, швблон выглядт как [A-z0-9], то нужно оставить только A-z0-9, а остальное удалить...
Название: Регулярное выражение?
Отправлено: NeoNox от 15 Апреля 2004, 14:09:24
s/[^A-Za-z0-9]//g;
Название: Регулярное выражение?
Отправлено: C++ от 20 Апреля 2004, 22:07:25
NeoNox, сенкс!
Еще одна проблемка :)
Есть куча файлов, во всех них есть _примерно_ вот такой HTML код:

 

 

 
 

 

Код может отличаться только пробелами и /n между тегами.
Его нужно заменить на другой код.
Замучился уже с регекспом...
Помогите, пожалуйста!
Заранее спасибо!
Название: Регулярное выражение?
Отправлено: commander от 21 Апреля 2004, 10:49:49
удали пробелы и переносы:

~s/ //g;
~s/\\r?\\n//g;
Название: Регулярное выражение?
Отправлено: NeoNox от 21 Апреля 2004, 11:35:44
commander зачем? есть же ключ s...
C++ например так:
#!/usr/bin/perl
use strict;

my $text = "Another text";
my $lines = qq~


                 
               

         
       
 
 
       
         
~;

$lines =~ s/(<\\/TR>.+?<\\/TABLE>.+?
)/$text/si;
print $lines;
Название: Регулярное выражение?
Отправлено: commander от 21 Апреля 2004, 11:56:46
NeoNox хмм... ну да согласен... :)