0

例の行があります:

「時|日|年」

私は年として参加する必要がありますが、たとえば決定ではできません:

$string = 'Hour |Day |Year';
$string =~ s/^.*?|([^|]+)$/$1/;
4

4 に答える 4

3

文字列を要素に分割します。

my @elements = split( /\|/, $string );

そして、最後の要素を取得します:

print $elements[-1];
于 2013-06-20T04:32:33.063 に答える
1

あなたはほとんどそれを手に入れました。最初に「エスケープ」する必要があります|:

$string = 'Hour |Day |Year';
$string =~ s/^.*?\|([^|]+)$/$1/;

これは、orPerl の正規表現で意味する特殊文字だからです。

于 2013-06-20T04:31:01.013 に答える
0

これを試すこともできます:

([^|]+$)

Year最後からその部分をピックアップするだけです。文字列全体を一致させる必要はありません。

ライブデモ

コードは次のようになります。

$string = 'Hour |Day |Year';
$string =~ s/([^|]+$)/$1/;
于 2013-06-20T04:59:27.053 に答える
0

これが必要だと思います....

$string = 'Hour |Day |Year';
$string =~ s/^(?:.*?)\|([^|]+)$/$1/m;
于 2013-06-20T04:32:38.483 に答える