Perlについての質問箱 20箱目
■ このスレッドは過去ログ倉庫に格納されています
0394デフォルトの名無しさん
2005/11/20(日) 14:40:48え? それ、正しい動作...
まず、s///gでは置換途中は対象変数が元の値を保持している。
確認例 perl -e "$_='AAA ';s/A/print/ge;print"
/gは、元の文字列でマッチが成立する場所を全て置換するという事。
m//g と s///g でマッチ個所は同一になる。
$の件(>>345)を別の表現にすると、先読みの肯定(/(?=\n)/)
単純な例
$_='a aa aaa aaaa aaaaa';
s/a*(?=a)/print "$`($&)$'\n"/ge;
print;
これは、直後が'a'である0文字以上の'a'を置換という指定。
print出力は345準拠。
■ このスレッドは過去ログ倉庫に格納されています