dyno2316 ロヒミフ perl VBA Excel 秀丸

ファイル入力と正規表現で抽出


#-------------------------------------------------------------------
# ファイルから特定の文字列を含む行から、指定の文字列を抜き出して出力
#-------------------------------------------------------------------
# 入力のレコード形式
## <entry type="ENTRY_RISYU"><key name="gaksekno">00210018</key>
## <value name="CAM2ndSelectedSubject">213C2059000001:1:1:C20590:off:1</value>
#
open(FIN,$ARGV[0]) die "001 can't open $ARGV[0]¥n";
while(<FIN>){

#
# キーワード「gaksekno">」でそれに続く8桁の数字列を抽出
#
if (/gaksekno¥"¥>(¥d¥d¥d¥d¥d¥d¥d¥d)/){
$gakuno = $1;
}

#
# キーワード「CAM2ndSelectedSubject">999」でそれに続く
# 1桁の英字列+7桁の数字列を抽出
#
if (/CAM2ndSelectedSubject¥"¥>¥d¥d¥d(¥w¥d¥d¥d¥d¥d¥d¥d)/){
$kogi = $1;
$rec = $gakuno . "," . $kogi;
print "$rec¥n";
}

}
close(FIN);