Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Регулярка


Автор: n0xi0uzz 19.3.2006, 19:53
В общем, в строке надо обрезать все, кроме пробелов и слов, состоящих из цифр и букв (русских и латинских, строчных и прописных). Подскажите, пожалуйста, регулярное выражение. Спасибо.

Автор: tishaishii 19.3.2006, 20:40
Код
use locale;
$s=~s{[^\w\s]}{}gs;

Автор: nitr 19.3.2006, 20:50
Код

use locale;
$str =~ s/[^\w\s]//smg;

Добавлено @ 20:52
млин, повторился smile

Автор: BlackLFL 19.3.2006, 20:53
если не получится, то добавьте к примеру tishaishii, вместо use locale;
Код

use locale; use POSIX qw(locale_h); setlocale(LC_CTYPE,"ru_RU.CP1251");


Автор: nitr 19.3.2006, 20:56
хотя бы пример приведу ;)
Код

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

while(<DATA>) {
  $line .= $_;
}
$line =~ s/[^\w\s]//smg;
print $line;

__END__
что-@@то т"акое;%# -
можно $2c34an u56se local
perlперл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)