parser.py 657 B

12345678910111213141516171819202122
  1. import re
  2. def parse_folder_name(folder_name: str):
  3. """
  4. 解析格式:
  5. 1. ('129873', {'us'}, 'Swadloon'), 2
  6. 2. ('2150297', {'us'}, 'Grimsley’s Move'), None
  7. """
  8. # 这里的正则匹配最后的 , 之后的所有内容作为 card_num
  9. pattern = r"\('(.+?)', \{'(.+?)'\}, '(.+?)'\),\s*(.+)"
  10. match = re.search(pattern, folder_name)
  11. if match:
  12. return {
  13. "source_id": match.group(1),
  14. "lang": match.group(2),
  15. "card_name": match.group(3),
  16. # 这里获取到的可能是 "2" 或者 "None" 或者 "004"
  17. "card_num": match.group(4).strip()
  18. }
  19. return None