parser.py 632 B

123456789101112131415161718192021
  1. import re
  2. def parse_folder_name(folder_name: str):
  3. """
  4. 解析格式: ('129873', {'us'}, 'Swadloon'), 2
  5. 返回: (source_id, lang, card_name, card_num)
  6. """
  7. # 这是一个比较宽松的正则,适应你的格式
  8. # Group 1: source_id, Group 2: lang, Group 3: name, Group 4: 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. "card_num": match.group(4).strip()
  17. }
  18. return None