私の理解では/[^\A] +/mg
、文字列の先頭または改行の直後以外に発生する1つ以上のスペースにグローバルに一致します。
どうやら、私は間違っています。
#!/usr/bin/env perl
use strict;
use warnings;
my $str = " word1 word2\n word3 word4 word5\n";
print "str before = $str\n";
$str =~ s/[^\A] +/ /mg;
print "str after = $str\n";
出力:
str before = word1 word2
word3 word4 word5
str after = word word2 word word word5
望ましい出力は次のとおりです。
str before = word1 word2
word3 word4 word5
str after = word1 word2
word3 word4 word5
そのため、先頭のスペースの数は保持されますが、各行の先頭の後に発生する複数のスペースは 1 つのスペースに削減されます。
perldoc perlretut
norで探しているものが見つかりませんperldoc perlre
(「[^」のすべてのインスタンスを で検索した後でも/\[\^
)。よろしくお願いします。