Страница 1 из 1
Регулярные выражения в Perl
Добавлено: 2010-04-02 13:05:27
Darnet
Гуру можете подсказать как мне отформатировать строку, у меня есть переменная с таким содержанием:
Мне надо сделать чтобы она была в вида:
Вот что у меня получилось:
Только здесь perl ругается на \1 и не убирает Hex-STRING:. Помогите кто может, а то очень нужен этот скрипт.
Re: Регулярные выражения в Perl
Добавлено: 2010-04-02 13:24:54
Гость
Что-то типа может этого:
Код: Выделить всё
my $a = "Hex-STRING: 00 1A 4D 30 FA 08";
$a =~ s/(?:[^:]+: )((?:[\dA-F]{2} ?)+)/$1/;
$a =~ tr/A-F /a-f:/;
Re: Регулярные выражения в Perl
Добавлено: 2010-04-02 20:26:22
Гость
кстати. чё-то сразу не подумал... можно же проще:
Код: Выделить всё
my $a = "Hex-STRING: 00 1A 4D 30 FA 08";
$a = substr($a, 12);
$a =~ tr/A-F /a-f:/;
Re: Регулярные выражения в Perl
Добавлено: 2010-04-06 8:57:03
Darnet
Большое спасибо все получилось.
Re: Регулярные выражения в Perl
Добавлено: 2010-04-08 13:35:08
Darnet
Помогите вот еще одной строкой, так же есть переменная с таким содержанием:
Код: Выделить всё
.106.1.172.16.112.171
и
.1.1.172.16.112.171
Как мне сделать ее такого вида
Re: Регулярные выражения в Perl
Добавлено: 2010-04-08 14:21:02
Гость
Если надо выдернуть первое число, то:
Код: Выделить всё
my $a = ".106.1.172.16.112.171";
$a =~ /(\d+)/;
и теперь в переменной $1 будет это самое число.
Re: Регулярные выражения в Perl
Добавлено: 2010-04-08 14:55:05
Darnet
Пишу вот так:
Вроде все правильно, а все равно не заменяет. Где может быть ошибка?
Re: Регулярные выражения в Perl
Добавлено: 2010-04-08 15:33:14
Гость
Может можно как-то и по-другому, но вот это даёт желаемый результат:
Re: Регулярные выражения в Perl
Добавлено: 2010-04-08 15:42:22
Podedinov
Большое спасибо, все работает как надо.
Re: Регулярные выражения в Perl
Добавлено: 2010-06-05 1:55:22
Гость
Гость писал(а):Может можно как-то и по-другому, но вот это даёт желаемый результат:
не совсем коректно
так правильнее