# 书号匹配
        if not result["书号"]:
            # 修改正则表达式，更精确地匹配书号格式，避免匹配到后面的定价信息
            if m := re.search(r'(?:书号|統一書號|统一[书書][号號]|普號|ISBN)[:：]?\s*([\d·\-]{5,}[·\-][\d]{1,5})', line):
                result["书号"] = m.group(1).replace('·', '-')
            # 备用匹配：如果上面的匹配失败，使用更宽松但有长度限制的匹配
            elif m := re.search(r'(?:书号|統一書號|统一[书書][号號]|普號|ISBN)[:：]?\s*([\w·\-]{5,15})', line):
                # 确保只提取书号部分，如果有明显的分隔符或关键词，则截取到该位置
                book_id = m.group(1)
                # 检查是否包含"定价"关键词，如果有则截取到"定价"之前
                if "定价" in book_id:
                    book_id = book_id.split("定价")[0].strip()
                # 检查是否包含"元"关键词，如果有则截取到"元"之前
                if "元" in book_id:
                    book_id = book_id.split("元")[0].strip()
                # 去除末尾可能的非书号字符
                book_id = re.sub(r'[^\d·\-\w]+$', '', book_id)
                result["书号"] = book_id.replace('·', '-')
        
        # 定价匹配
        if not result["定价"]:
            # 1. 匹配"定价：xx.xx元"或"定價：xx.xx元"
            m = re.search(r'定[价價][:：]?\s*(\d+\.\d{1,2})元\b', line)
            if m:
                result["定价"] = f"{m.group(1)}元"
            else:
                # 2. 匹配"定价：xx.xx"无"元"字
                m2 = re.search(r'定[价價][:：]?\s*(\d+\.\d{1,2})\b', line)
                if m2:
                    result["定价"] = f"{m2.group(1)}元" 