- ベストアンサー
正規表現でマッチした数字文字を計算して置換することを1行で記述できますか?
正規表現でマッチした数字文字を計算して置換することを1行で記述できますか? たとえば 2004/01/01 --> 2004/01/17 2004/01/02 --> 2004/01/18 2004/01/03 --> 2004/01/19 $a = '2004/01/01'; $a =~ s/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/\1\/\2\/???????/; ?????の部分です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
sprintfを使えばできます。 ???????以外のところも変更しますけど。 $a = '2004/01/01'; $a =~ s/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/sprintf "$1\/$2\/%d", $3+16/e; 最後の e をお忘れなく。