You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从PGN文件中提取国际象棋时间控制信息的正则表达式解决方案

从PGN文件中提取国际象棋时间控制信息的正则表达式解决方案

嘿,我来帮你搞定这个PGN时间控制信息提取的问题!你之前尝试的正则表达式存在一些语法问题,比如错误使用了字符组[],而且没有设置正确的捕获分组来分离初始时间和增量值。

正确的正则表达式方案

我们需要精准匹配[TimeControl "X+Y"]这样的格式(X是初始秒数,Y是每步增量秒数),正确的正则模式如下:

r'\[TimeControl "(\d+)\+(\d+)"\]'

简单拆解下这个模式的逻辑:

  • \[ 和 \]:匹配方括号,因为方括号在正则里属于特殊字符,必须加反斜杠转义
  • TimeControl ":精确匹配固定的文本前缀
  • (\d+):第一个捕获分组,匹配一个或多个数字,对应初始时间值
  • \+:匹配加号,加号是正则里的特殊量词,同样需要转义
  • (\d+):第二个捕获分组,匹配一个或多个数字,对应每步增量值
  • ":匹配结尾的双引号

完整的Python代码示例

把这个正则整合到代码里,就能轻松提取并转换你需要的两个变量了:

import re

def extract_time_control(pgn_content):
    time_control_match = re.search(r'\[TimeControl "(\d+)\+(\d+)"\]', pgn_content)
    if time_control_match:
        initial_time, increment = time_control_match.groups()
        return int(initial_time), int(increment)
    else:
        return None, None

调用这个函数时,传入PGN内容字符串,就能得到转成整数的初始时间和增量值;如果没找到匹配的时间控制字段,就返回(None, None)。

备注:内容来源于stack exchange,提问作者Zen4ttitude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:09:30