需要你的帮助。我有内容的txt文件:
http://www.odnoklassniki.ru/group/50577704157376
http://www.odnoklassniki.ru/group/50735464710341
http://www.odnoklassniki.ru/group/51604546650191
http://www.odnoklassniki.ru/group/51760907550833/album/51760907747441
http://www.odnoklassniki.ru/group/51104812826795
http://www.odnoklassniki.ru/group/51512464113845
http://www.odnoklassniki.ru/group/52331994480761
http://www.odnoklassniki.ru/group/56283345518632
http://www.odnoklassniki.ru/group/50763665834200
http://www.odnoklassniki.ru/group/49222266847410
http://www.odnoklassniki.ru/group/44709448384597/album/44709465620565
http://www.odnoklassniki.ru/group/42776675221604
http://www.odnoklassniki.ru/group/50906863239329
我需要删除5号后的所有肉体。解决方案需要perl或regex到notepad ++
答案 0 :(得分:1)
使用Notepad ++:
Find what: ([^/]+//[^/]+/[^/]+/[^/]+/).*
Replace with: \1
答案 1 :(得分:1)
您可以使用此Perl正则表达式:s{^ ( (?:[^\/]* \/){5} ) .+ }{$1}x
答案 2 :(得分:1)
while (<>) {
chomp;
s{^http://www\.odnoklassniki\.ru/group/[^/]+\K.*}{}s;
print;
}
或者如果你想更通用:
use URI qw( );
while (<>) {
chomp;
my $url = URI->new($_);
my $path = $url->path;
$path =~ s{^/[^/]*/[^/]*\K.*}{}s;
$url->path($path);
print "$url\n";
}
答案 3 :(得分:0)
while(<FILE>){
s/([^/]*\/[^/]*\/[^/]*\/[^/]*\/[^/]*\/).*/\1/;
print $_;
}