while ループを使用して正規表現を使用して変数を照合する場合、一致した変数が lappend を使用してリストを形成するようにします。コードは
set file_name [open filename.txt r]
set newlist [list]
while {[gets $file_name line] >= 0} {
regexp {cell \(\"(.*)\"} $line match cell_name
if {[info exists cell_name] && $cell_name != ""} {
puts "$cell_name"
lappend $newlist $cell_name
unset cell_name
}
}
foreach item $newlist {puts $item}
close $file_name
一致するテキストは、引用符内の値が変化するセル (「aabbcc」) のようなものです。値はこのコードによってキャプチャされていますが、追加後にリストを作成していません。すべての値がリストとして必要です。どこが間違っているのか教えてください。