Автор Тема: Регулярное выражение?  (Прочитано 4133 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярное выражение?
« : 15 Апреля 2004, 13:32:18 »
Мне нужно в строке удалить все символы, которые НЕ встречаются в шаблоне.
т.е. если, например, швблон выглядт как [A-z0-9], то нужно оставить только A-z0-9, а остальное удалить...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Регулярное выражение?
« Ответ #1 : 15 Апреля 2004, 14:09:24 »
s/[^A-Za-z0-9]//g;
The documentations is your friend

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярное выражение?
« Ответ #2 : 20 Апреля 2004, 22:07:25 »
NeoNox, сенкс!
Еще одна проблемка :)
Есть куча файлов, во всех них есть _примерно_ вот такой HTML код:

 

 


 
 

 

Код может отличаться только пробелами и /n между тегами.
Его нужно заменить на другой код.
Замучился уже с регекспом...
Помогите, пожалуйста!
Заранее спасибо!

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Регулярное выражение?
« Ответ #3 : 21 Апреля 2004, 10:49:49 »
удали пробелы и переносы:

~s/ //g;
~s/\\r?\\n//g;
And no religion too...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Регулярное выражение?
« Ответ #4 : 21 Апреля 2004, 11:35:44 »
commander зачем? есть же ключ s...
C++ например так:
#!/usr/bin/perl
use strict;

my $text "Another text";
my $lines qq~
<
table>
<
more>
                  </
TR>
                </
TABLE>
          </
DIV>
        </
TD>
  </
TR>
  <
TR>
        <
TD VALIGN="TOP">
          <
TABLE WIDTH=792 BORDER=0 CELLPADDING=0 CELLSPACING=0>
~;

$lines =~ s/(<\\/TR>.+?<\\/TABLE>.+?<TABLE WIDTH=792 BORDER=0 CELLPADDING=0 CELLSPACING=0>)/$text/si;
print 
$lines;
The documentations is your friend

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Регулярное выражение?
« Ответ #5 : 21 Апреля 2004, 11:56:46 »
NeoNox хмм... ну да согласен... :)
And no religion too...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28