2010-03-08 71 views
2

之間的匹配,我有以下文字:如何獲得正則表達式兩個邊界

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

我希望得到的只是實際的項目名稱在本例中爲「項目A」。

我有一個正則表達式"started:(\s)Project:(\s).*," ,這將給我"started: Project: ProjectA,",然後我可以用更基本的字符串搜索返回的項目名稱,但不知道是否有什麼辦法可以只抓實際項目名稱,而不做額外的字符串搜索,可能使用正確的正則表達式。

我需要的是邊界之間的字符串值「開始:項目:」和「,」。
任何想法?

回答

1

試試這個:started:\sProject:\s(.*),。我也建議你安裝Expresso。這是調試和分析正則表達式的絕佳工具。

+0

感謝,工程和工具也很棒。 – Rubans 2010-03-09 09:50:49

1

您可以使用"started: Project: ([^,]+),",然後拿到第一組的值:

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

如果一個項目名稱不能包含逗號,這應該工作:

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