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

如何用单个正则表达式同时解析单行多行数据并兼容空白符差异

解决方案

核心正则表达式

需开启多行匹配模式,兼容空格、制表符混合场景,同时适配制表符按4个空格计算的IDE规则:

--[ \t]+(\w+[ \t]+\[.+?\][ \t]*=.+?)(?:\n--[ \t]{3,}.+)*

逻辑拆分

  • --[ \t]+:匹配注释开头的--,后续至少跟1个水平空白(空格、制表符均支持)
  • (\w+[ \t]+\[.+?\][ \t]*=.+?):匹配参数定义行的核心内容,包含参数名、单位标识、等于号和首行描述
  • (?:\n--[ \t]{3,}.+)*:非捕获组匹配可选的续行:换行后仍以--开头,后续跟至少3个水平空白(单个制表符等价4个空格,天然满足长度要求),*标识续行可出现0次或多次:
    • 续行出现0次时匹配单行定义
    • 续行出现≥1次时匹配多行定义

扩展版本(带命名分组)

如果需要直接提取参数名、单位、描述字段,可以使用带命名分组的版本:

--[ \t]+(?<param_name>\w+)[ \t]+\[(?<unit>.+?)\][ \t]*=[ \t]*(?<desc>.+?)(?:\n--[ \t]{3,}(?<desc_append>.+))*

内容的提问来源于stack exchange,提问作者Eddie Mossberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 22:45:01