C# 使用正則表達式實作(實現) 複合變數(CompoundVariables)拆解/分析 範例
C# 使用正則表達式實作(實現) 複合變數(CompoundVariables)拆解/分析 範例
資料來源: chatgpt
C#線上編譯器: https://dotnetfiddle.net/
問題備份
我有一字串如下
"{Name}};; {Value01}|{Value02}"
我想要使用C# 正則表達方式 將其轉換成 字串陣列內如下
"Name}"
";; "
"Value01"
"Value02"
"|"
code
using System;
using System.Text.RegularExpressions;
using System.Collections.Generic;
class Program
{
static void Main()
{
string input = "{Name}};; {Value01}|{Value02}";
string pattern = @"\{([^}]+)}(\}*)|[^{}]+";
var matches = Regex.Matches(input, pattern);
var result = new List<string>();
foreach (Match match in matches)
{
if (match.Groups[1].Success) // 匹配了 {xxx}
{
string value = match.Groups[1].Value + match.Groups[2].Value; // 加上多出來的 }
result.Add(value);
}
else
{
result.Add(match.Value);
}
}
// 顯示結果
foreach (var part in result)
{
Console.WriteLine($"\"{part}\"");
}
}
}
正則表達說明:
\{([^}]+)}(\}*):
([^}]+) 捕捉 {} 中的內容
(\}*) 捕捉在 } 之後緊接著的所有多餘 }(例如 }} 會捕捉第二個)
========================================
|[^{}]+:
捕捉不是 {} 的其他文字,例如 ;; 和 |
2 thoughts on “C# 使用正則表達式實作(實現) 複合變數(CompoundVariables)拆解/分析 範例”
相關範例 ~ 利用C# 將JSON字串變成物件變數 並且列印出左有元素名稱
C# 正則表達/正規表達 範例