例の行があります:
「時|日|年」
私は年として参加する必要がありますが、たとえば決定ではできません:
$string = 'Hour |Day |Year';
$string =~ s/^.*?|([^|]+)$/$1/;
文字列を要素に分割します。
my @elements = split( /\|/, $string );
そして、最後の要素を取得します:
print $elements[-1];
あなたはほとんどそれを手に入れました。最初に「エスケープ」する必要があります|
:
$string = 'Hour |Day |Year';
$string =~ s/^.*?\|([^|]+)$/$1/;
これは、or
Perl の正規表現で意味する特殊文字だからです。
これを試すこともできます:
([^|]+$)
Year
最後からその部分をピックアップするだけです。文字列全体を一致させる必要はありません。
コードは次のようになります。
$string = 'Hour |Day |Year';
$string =~ s/([^|]+$)/$1/;
これが必要だと思います....
$string = 'Hour |Day |Year';
$string =~ s/^(?:.*?)\|([^|]+)$/$1/m;