使用正則表達式替換我喜歡如何掉在Perl
3:12:19 [Sam Peters] user at X
11:1:17 [Roger Fernandes] user at Y
10:9:25 [Harry Dsouza] user at Z
一個數據我想我的輸出是
[Peters.S] user at X 3:12:19
[Fernandes.R] user at Y 11:1:17
[Dsouza.H] user at Z 10:9:25
我的代碼無法正常工作。這是我的腳本
#!/usr/bin/perl/
use warnings;
use strict;
my $log = "3:12:19 [Sam Peters] user at X \n11:1:17 [Roger Fernandes] user at Y \n10:9:25 [Harry Dsouza] user at Z \n";
print "$log \n";
$log =~ s/^
(.*) #First group time
\s #whitespace
\[ #start bracket
(\w)\s(\w+) #name in square barckets
\] #end brackets
\s
(.*) #everything else
$/\[$3\.$2\] $4 $1/gxi;
print "$log \n";
我只是一個Perl的初學者。我得到的輸出與輸入相同,沒有變化。
而是改變你原來的正則表達式,它會一直好,只是編輯您的帖子顯示您做出的改變(你的第二次嘗試)一套全新的代碼。 –
好的。將遵循。 –