Jestem dość doświadczony z Perlem i Ruby, ale jest nowy w Pythonie, więc mam nadzieję, że ktoś może mi pokazać Pythoniczny sposób wykonania tego zadania. Chcę porównać kilka linii z wieloma wyrażeń regularnych i pobrać pasującą grupę. W Ruby byłoby coś takiego:Python porównujący ciąg znaków z kilkoma wyrażeń regularnych
# 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
Moje próby w Pythonie zwracają się dość brzydki, ponieważ grupa zwracany jest z wywołania dopasować/wyszukiwanie w wyrażeniu regularnym i Python ma zadanie w warunkowych lub przełączaj instrukcje. Jaki jest Pythonowy sposób (lub myślenie!) Na temat tego problemu?
Zobacz http://stackoverflow.com/questions/2554185/match-groups-in-python. – PaulMcG
Tak, to pytanie było tym, czego szukałem - dzięki! – maerics