我对Perl和Ruby都有相当的经验,但是对Python还比较新,所以希望有人能向我展示用Python实现以下任务的方式。我想将多行文本与多个正则表达式进行比较,并检索出匹配的组。在Ruby中,代码可能如下:
# Revised to show variance in regex and related action.
data, foo, bar = [], nil, nil
input_lines.each do |line|
if line =~ /Foo(\d+)/
foo = $1.to_i
elsif line =~ /Bar=(.*)$/
bar = $1
elsif bar
data.push(line.to_f)
end
end
因为在正则表达式的match/search调用中匹配组是返回的,而Python没有条件语句或switch语句中的赋值,所以我的Python尝试变得相当丑陋。那么,如何以Pythonic的方式解决(或思考)这个问题?