使用正则表达式解析字符串中出现的%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
正则表达式应该是这样的:
%([^%]*)%
分隔符在两边,它们之间的捕获组为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();
您的正则表达式是%[^%]+%
。看一下正则表达式。匹配方法。