使用正则表达式解析字符串中出现的%SOMETEXT%

本文关键字:%SOMETEXT% 字符串 正则表达式 | 更新日期: 2023-09-27 18:17:37

我从不使用正则表达式,因为它们看起来很复杂,尽管我知道它们是密集和强大的。我想在你的帮助下给他们一个机会

我如何使用正则表达式提取字符串变量中%sometext%的所有出现,并返回匹配项的字符串数组?

例如,如果输入字符串是:

set NewVariable=%Variable1%%Variable2%%Variable3%SomeText%Variable4%

输出数组将是:

Array[0]=Variable1
Array[1]=Variable2
Array[2]=Variable3
Array[3]=Variable4

使用正则表达式解析字符串中出现的%SOMETEXT%

正则表达式应该是这样的:

%([^%]*)%

分隔符在两边,它们之间的捕获组为i。

方法如下:

var mc = Regex.Matches(
    "quick%brown%%fox%jumps%over%the%lazy%%dog%"
,   "%([^%]*)%"
);
foreach (Match m in mc) {
    Console.WriteLine(m.Groups[1]);
}

上面的输出看起来像这样:

brown
fox
over
lazy
dog

var NewVariable = "%Variable1%%Variable2%%Variable3%SomeText%Variable4%";
var Array = Regex.Matches(NewVariable, @"%(.+?)%")
                 .Cast<Match>()
                 .Select(m => m.Groups[1].Value)
                 .ToArray();

您的正则表达式是%[^%]+%。看一下正则表达式。匹配方法。