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