import re def extract_key_value_from_line(line): # 更新正则表达式以处理带序号和不带序号的情况 pattern = r'^((?:\d+(?:\.\d+)*\.?\s*)?)(.+?)\s*/\s*$' match = re.match(pattern, line) if match: # 获取键名,并去除多余的空格 key = match.group(2).strip() # 设置值为"无" value = "无" return {key: value} return {} # 测试函数 def test_extraction(): test_cases = [ "1.1.6 设计人 /", "3.4 某个键名:/", "5. 另一个键名 /", "1.2.3.4 复杂序号键名:/", "6.简单键名/", "不带序号的行:/", "纯文本/", ] for case in test_cases: result = extract_key_value_from_line(case) print(f"Input: {case}") print(f"Result: {result}\n") # 运行测试 test_extraction()