import re
with open('input/bento.csv', encoding='utf-8') as f:
for row in f:
columns = row.rstrip().split(',')
shop_col = columns[1]
# ここから下に実装してください。
shops = re.split(r"\s*[//\t]+\s*", shop_col)
for shop in shops:
m = re.match("[^、]*、([^、]*)、(\\d+)円$", shop)
if m:
item_name = m.group(1)
item_price = m.group(2)
if int(item_price) >= 2800:
print(f"{item_name} {item_price}円")
・[^、]*、 カンマ以外の文章を0個以上取得して、カンマまでの文章を取得する
※[]の中に^が入ると^の次の文字以外の文字という否定形になる。
上記だと[^、]*だとカンマ以外の文字が0個以上となる
・()で囲むとグループとして取得でき、m.group(1)というように.groupで取得できる。かっこの数字は()をつけた順番で数字を指定すると取得できる。最初の番号は1から。0からではないので注意
・[]* []の中の文字が0個以上
・[]+ []の中の数字が1個以上
・[//\t]+ []の中のいずれかの文字が1個以上
・abc$ $の前の文字や数字で終わることを指定できる。この場合はCで終わるものを指定している
・