rexegの置換式の数字にグループのマッチを接尾辞にしたいとします。マッチ変数とアクタルデジットをどのように分けるのですか?Perl正規表現 - 数字の隣の変数を一致させよう
私は
hello 55 friends -> hello 551 friend
i am 29 happy -> i am 291 happy
をしたい場合は、私は
s/([0-9]+)/$11/g;
と試みたが、私は$1
後に直接1
を置けば、perlは$11
(当然そう)として解釈します。 bashでは、私は${1}1
と書くことができましたが、これはperlではうまくいかないようです。
EDIT:@toolicが正しく、s /([0-9] +)/ $ {1} 1/gでした。私のシェルにはエスケープな問題がありました。その回答を適切な回答として投稿すると、私はそれを受け入れます!おかげ
'のS /([0-9] +)/ $ {1} 1/G;'は、Perlで私のために働きます。あなたの実行可能コードを "うまくいきません"で掲示してください。 – toolic
'$ val =〜s /([0-9] +)/ $ 1.1/eg;' – ssr1012
これは 'echo 'hello 55 friends \ ni am 29 happy' | perl -neの/([0-9] +)/ $ {1} 1 /;私のPerlで 'hello 551 friends 私は291 happy'です – yonyon100