import re

# 定义清理函数
def clean_data(data):
    pattern = r'^\s*(?:[（(]\s*\d+\s*[)）)]|[A-Za-z]?\d+(?:\.\s*\d+)*[\s\.、．)\）]+|[一二三四五六七八九十]+、|[A-Z][)）\.、．]?\s*)'
    return re.sub(pattern, '', data).strip()

# 定义测试用例
test_cases = [
    {
        "description": "阿拉伯数字加逗号",
        "input": "（ 2 ）单位负责人为同一人或者存在直接控股 、管理关系的不同投标人， 不得 参加本项目同一合同项下的政府采购活动。",
        "expected": "单位负责人为同一人或者存在直接控股 、管理关系的不同投标人， 不得 参加本项目同一合同项下的政府采购活动。"
    },
    {
        "description": "阿拉伯数字加点",
        "input": "3. 为本采购项目提供整体设计 、规范编制或者项目管理 、监理 、检测等服务的， 不得再参加本项目的其他招标采购活动。",
        "expected": "为本采购项目提供整体设计 、规范编制或者项目管理 、监理 、检测等服务的， 不得再参加本项目的其他招标采购活动。"
    },
    {
        "description": "阿拉伯数字加圆括号",
        "input": "(4) 详细说明",
        "expected": "详细说明"
    },
    {
        "description": "全角括号",
        "input": "（5）项目概述",
        "expected": "项目概述"
    },
    {
        "description": "字母加点",
        "input": "A. 项目简介",
        "expected": "项目简介"
    },
    {
        "description": "字母加逗号",
        "input": "B、详细内容",
        "expected": "详细内容"
    },
    {
        "description": "中文数字加逗号",
        "input": "一、项目背景",
        "expected": "项目背景"
    },
    {
        "description": "中文数字加逗号和空格",
        "input": "二 、项目目标",
        "expected": "项目目标"
    },
    {
        "description": "混合分隔符",
        "input": "C) 项目计划",
        "expected": "项目计划"
    },
    {
        "description": "没有序号",
        "input": "这是一个没有序号的段落。",
        "expected": "这是一个没有序号的段落。"
    },
    {
        "description": "多个分隔符",
        "input": "3  、  为本采购项目提供整体设计",
        "expected": "为本采购项目提供整体设计"
    },
    {
        "description": "复杂的编号格式",
        "input": "A.1.1. 详细步骤",
        "expected": "详细步骤"
    },
    {
        "description": "中英文混合的中文数字",
        "input": "（六）第五部分",
        "expected": "第五部分"
    },
    {
        "description": "无空格的分隔符",
        "input": "7、没有空格的情况",
        "expected": "没有空格的情况"
    },
    {
        "description": "分隔符前有空格",
        "input": "8 、 有空格的情况",
        "expected": "有空格的情况"
    },
    {
        "description": "点和逗号混合的分隔符",
        "input": "9. 、 混合分隔符",
        "expected": "混合分隔符"
    },
    {
        "description": "多重括号",
        "input": "((10)) 多重括号",
        "expected": "多重括号"
    },
{
        "description": "只有数字",
        "input": "10 多重括号",
        "expected": "多重括号"
    }
]

# 执行测试
for idx, case in enumerate(test_cases, 1):
    input_data = case["input"]
    expected = case["expected"]
    result = clean_data(input_data)
    passed = result == expected
    status = "通过" if passed else "失败"
    print(f"测试 {idx}: {case['description']}")
    print(f"原始数据: {input_data}")
    print(f"预期结果: {expected}")
    print(f"实际结果: {result}")
    print(f"测试结果: {status}\n{'-'*50}\n")
