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で終わるものを指定している