字符串等于正则表达式结果?

时间:2013-08-28 13:11:57

标签: c# regex

我想要捕获一个正则表达式结果,以便在我的代码中使用它。比如,我正在使用正则表达式来摆脱字符串中的特定部分,我想在字符串变量中捕获结果。

甚至可以做这样的事吗?人们甚至怎么做呢?

输入:

C:\Users\Documents\Development\testing\11.0.25.10\W_11052_0_X.pts

我希望存储到字符串中的预期结果:

C:\Users\Documents\Development\testing\11.0.25.10\

正则表达式: ^(.*[\\])

1 个答案:

答案 0 :(得分:2)

当然您可以:Groups对象的System.Text.RegularExpressions.Match属性允许您通过访问相应组的string属性以Value的形式访问匹配项

例如,您可以执行此操作以捕获示例中预期输出的值:

string nameString = @"C:\Users\Documents\Development\testing\11.0.25.10\W_11052_0_X.pts";
// Note that I needed to double the slashes in your pattern to avoid the "unmatched [" error
string pathPrefix = Regex.Match(nameString, @"^(.*[\\])").Groups[1].Value;
Console.WriteLine(pathPrefix);

以上打印

C:\Users\Documents\Development\testing\11.0.25.10\

这是demo on ideone