pythonで文字列から数字を抽出する

やりたいこと

あいうえお2020かきくけこ

↑ こんな文字列から

2020

↑これだけ取り出したい 正規表現を使って取り出す

プログラム

import re

def main():
  test="あいうえお2020かきくけこ"
  moji = int(re.sub("\\D", "", test))
  print(test)
  print(moji)

if __name__ == '__main__':
    main()

結果

$ python main.py

あいうえお2020かきくけこ
2020

5行目の\Dにて任意の数字以外を抽出(正規表現で表すと[^0-9])している。 re.subを使うことで文字列を空に変換している(第二引数で置換先の文字列を選べる)