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

.NET Regex Split:提取$[...]$格式内内容的正则模式咨询

在.NET中用正则提取$[...]$包裹的内容

没问题,我来帮你搞定这个需求!要从the $[inception]$ is an incredible movie里精准提取出inception,用.NET的正则表达式完全可以轻松实现,下面给你详细说明:

核心正则模式

我们需要匹配$[开头、]$结尾的结构,并捕获中间的内容。这里要注意转义正则里的特殊字符($和[/]都是正则元字符),最终的正则模式是:

\$\[(.*?)\]\$

模式拆解:

  • \$\[:匹配字面量$[,通过\转义$和[这两个特殊字符
  • (.*?):非贪婪捕获组,负责抓取两个分隔符之间的所有内容(用非贪婪模式?可以避免匹配到多个]$的情况,防止过度匹配)
  • \]\$:匹配字面量]$,同样转义]和$

.NET代码示例(C#)

下面是一个完整的代码片段,直接就能用:

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string inputText = "the $[inception]$ is an incredible movie";
        string regexPattern = @"\$\[(.*?)\]\$";
        
        Match resultMatch = Regex.Match(inputText, regexPattern);
        if (resultMatch.Success)
        {
            string extractedContent = resultMatch.Groups[1].Value;
            Console.WriteLine(extractedContent); // 输出:inception
        }
    }
}

额外场景处理

如果你的文本里有多个$[...]$结构(比如$[inception]$ and $[interstellar]$ are great movies),可以用Regex.Matches来获取所有匹配结果:

foreach (Match singleMatch in Regex.Matches(inputText, regexPattern))
{
    Console.WriteLine(singleMatch.Groups[1].Value);
}
// 输出:
// inception
// interstellar

关键注意点

一定要用非贪婪模式的.*?,如果换成贪婪的.*,当文本存在多个目标结构时,正则会从第一个$[一直匹配到最后一个]$,得到的结果就不是你想要的单个内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:46:01