PHP: <?php $data = ":[email protected] PRIVMSG #world :123"; $msg = preg_replace('/:([A-Z0-9_-]*)!.+(#[a-z0-9_-]*) :([0-9]*)$/', '\\2 \\1 : \\3', $data); ?>
Code: slashd@slashd-laptop:~/scripts$ cat src.pl #!/usr/bin/perl use strict; my $data = ':[email protected] PRIVMSG #world :123'; $data =~ m/^:(\w+?)!~.+?(#\w+?)\s:(\d+?)$/i; print $2," ",$1," : ",$3,"\n"; slashd@slashd-laptop:~/scripts$ perl src.pl #world TEST11 : 123 slashd@slashd-laptop:~/scripts$ Но всё же остаётся вопрос со строкой "123", там всегда будут цифры?