C#正則表達式操作中使用LINQ


問題場景

在博客園閃存內容中提取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就像代碼世界的小天使,給程序員帶來了更多的輕松與快樂!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM