所以这里是字符串:“DC:PPE Env:CH1 Slice:whatever to extract”或“babaasdfsd DC:PPE asdfas Env:CH1 or Slice:whatever”
基本上我试图找到“DC:PPE”“Env:CH1”“Slice:whatever”并删除它们。
我正在使用以下正则表达式:(c#)
Regex r = new Regex(
@"(?:
(?<captured>(?:^|\s+)Slice|Env|Dc:.*?\s+)()
){1}
\1",
(?:^|\s+)
我正在尝试匹配 Slice|Env|Dc 出现在开头或带有前导空格。我.*?\s+
试图非贪婪地匹配 DC:PPE 之后的空格。
我希望它同时返回所有三场比赛。这有什么问题?
string combinedTestSTring = "DC:PPE Env:CH1 Slice:whatever to extract";
Regex r = new Regex(
@"(?:
(?<captured>(?:^|\s+)Slice|Env|Dc:.*?\s+)()
){1}
\1",
RegexOptions.IgnorePatternWhitespace|RegexOptions.IgnoreCase);
var a = r.Matches(combinedTestSTring);