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

C#正则匹配需求:匹配至下一个标签,解析供应商错误消息

正则表达式解决方案

问题分析

现有正则(\w+):\s+([^:]+ )存在两个核心问题:

  • 用[^:]+匹配值时,会在遇到冒号(比如时间戳里的:)时提前终止,导致含冒号的内容无法完整匹配;
  • 末尾的空格限定会丢失最后一个值的末尾内容,比如把Value 3截断成Value。

解决正则表达式

可以利用正向预查实现“匹配至下一个标签开头或字符串结尾”的逻辑,同时兼容空标签的场景,正则如下:

(\w+)?:\s*(.*?)(?=\s+\w+:|$)

正则规则拆解

  • (\w+)?:匹配可选的标签名,兼容示例中LabelTwo后出现的空冒号场景;
  • :\s*:匹配冒号及后面的任意空白字符(包括0个,处理空值情况);
  • (.*?):非贪婪模式匹配任意内容,避免过度匹配;
  • (?=\s+\w+:|$):正向预查边界,确保匹配截止到「空格+标签名+冒号」或者「字符串末尾」,不会截断含冒号的内容(比如时间戳22:00:36)。

匹配结果验证

针对示例字符串LabelOne: Value 1 LabelTwo: Value 2 : LabelThree: Value 3,匹配后得到的分组结果如下:

  1. 标签:LabelOne,值:Value 1
  2. 标签:LabelTwo,值:Value 2
  3. 标签:空,值:空
  4. 标签:LabelThree,值:Value 3

你可以结合所用编程语言的正则API,将这些分组结果整理为期望的数组格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:23:18