問題場景
在博客園閃存內容中提取Tag,Tag要放在中括號之間並且出現在閃存內容的開頭。
比如:[程序員][代碼]博客園 - 程序員的網上家園,代碼改變世界
提取出來的Tag應該是:[程序員]、[代碼]
正則表達式
Regex _regexTag = new Regex(@"^(\[[^\]]+\])+", RegexOptions.Compiled);
通過LINQ從正則表達式的捕獲中提取出Tag
public IList<string> GetTags(string ingContent)
{
return (from Capture c in _regexTag.Match(ingContent).Groups[1].Captures
select c.Value).ToList();
}
注:即使沒有捕獲到,_regexTag.Match(ingContent).Groups[1].Captures也不會引發異常。
LINQ使用感言
LINQ就像代碼世界的小天使,給程序員帶來了更多的輕松與快樂!
