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

如何调整正则表达式以正确提取textarea中的key:value格式键值对

正则调整方案

你可以使用如下正则实现需求:

/[a-zA-Z!]+:\s*(?:"[^"]*"|[^"\s]+)/gi

原正则的问题

你之前的正则存在两个核心问题:

  • 末尾的[^ $]逻辑错误,会错误排除合法的结尾字符,也无法正确判断键值对的边界
  • 没有区分带双引号和不带双引号的值的结束规则,带引号的值内部允许出现空格,应该匹配到闭合引号为止,不带引号的值则匹配到下一个空格为止

正则规则说明

各部分匹配逻辑如下:

  • [a-zA-Z!]+:匹配键名,支持大小写字母和!符号,符合你之前的规则要求
  • :\s*:匹配冒号,以及冒号后可选的任意个空格
  • (?:"[^"]*"|[^"\s]+):分支匹配两种值格式:
    • "[^"]*":匹配被双引号包裹的内容,双引号内部允许任意字符(除了双引号本身)
    • [^"\s]+:匹配不带双引号的值,直到遇到空格或字符串结尾停止

匹配效果验证

用你提供的测试字符串is:"browser" browser: "chrome 11.11 V" node: error type:"Error"测试,匹配结果完全符合预期:

is:"browser"
browser: "chrome 11.11 V"
node: error
type:"Error"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:54:04