如何在两个边界之间获得正则表达式匹配

时间:2010-03-08 17:59:13

标签: c# regex

我有以下文字:

started: Project: ProjectA, Configuration: Release Any CPU ------

我想获得实际项目名称,在此示例中为“ProjectA”。

我有一个正则表达式"started:(\s)Project:(\s).*," 这将给我"started: Project: ProjectA,",然后我可以使用进一步的基本字符串搜索返回项目名称,但想知道是否有任何方法我可以抓住实际的项目名称而不进行额外的字符串搜索,也许使用正确的正则表达式。

我需要的是边界之间的字符串值“开始:项目:”和“,” 有什么想法吗?

3 个答案:

答案 0 :(得分:1)

试试这个:started:\sProject:\s(.*),。我还建议您安装Expresso。这是调试和分析正则表达式的绝佳工具。

答案 1 :(得分:1)

您可以使用"started: Project: ([^,]+),",然后获取第一组的值:

var m = regex.Match("....");
string project = m.Groups[1].Value;

答案 2 :(得分:0)

如果项目名称不能包含逗号,则应该有效:

started:\sProject:\s(.*?),