Faço /(\.[^.]+)$/
em Perl para ler a extensão de um arquivo, por exemplo Text.txt
. Como posso remover .
para que a saída seja Texttxt
?
Responder1
O grupo de correspondência /(…)/
contém qualquer coisadentroos parênteses. Se você não quer que o ponto faça parte dele, coloque-ofora
os parênteses: /\.([^.]+)$/
.
#!/usr/bin/env perl
use strict;
use warnings;
my $filename = 'Test.txt';
$filename =~ s/(.*)\.([^.]+)$/$1$2/;
# ^^ ^^^^^
# $1 $2
print "filename: '$filename'\n";
# prints "Testtxt"