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

正则表达式匹配含空值键值对的问题及修正方案求助

正确的正则写法及说明

正则表达式

^\s*(\S+)\s*=\s*(.*?)\s*$

各部分作用解析

  • ^:锚定行起始位置,确保仅匹配当前行的键值对,彻底解决空值时跨行匹配的问题
  • \s*:匹配键前后、等号前后的任意数量空白字符(包括0个),兼容不同格式的空格缩进
  • (\S+):捕获键名,\S+表示至少一个非空白字符,保证键名不含空格
  • (.*?):非贪婪模式捕获值内容,会自动跳过等号后的前置空白,直到行尾的前置空白前,避免将多余空格纳入值的结果
  • $:锚定行结束位置,确保匹配截止到当前行末尾

匹配效果示例

对于以下测试文本:

name = Alice
age =
address = 123 Main St

匹配结果:

  • 键:name,值:Alice
  • 键:age,值:空字符串
  • 键:address,值:123 Main St

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:54:52