日期:2014-05-18  浏览次数:20459 次

求一正则表达式,超级简单,麻烦各位了。
#蒙牛牛奶现致癌x性黄曲霉毒素M1#蒙牛在#特仑苏事件#、#小学生饮用蒙牛纯牛奶集体中毒事件#

根据上面的字符串过滤出如下字符串:
#蒙牛牛奶现致癌x性黄曲霉毒素M1#
#特仑苏事件#
#小学生饮用蒙牛纯牛奶集体中毒事件#


其实就是微博的话题功能。

提示:获取两个#号包含的内容,#号之间可以包含除了#号本身的其他任意字符。


谢谢各位。

------解决方案--------------------
#[^#]+#
------解决方案--------------------
(?is)(?<=#)([^#]?)(?=#)
------解决方案--------------------
[code=C#][/code]
string str = "#蒙牛牛奶现致癌x性黄曲霉毒素M1#蒙牛在#特仑苏事件#、#小学生饮用蒙牛纯牛奶集体中毒事件#";
Regex reg = new Regex(@"(?<=#)[^#]+(?=#)");
MatchCollection mc = reg.Matches(str);
int i = 0;
foreach (Match m in mc)
{
i++;
if (i % 2 == 1)
richTextBox2.Text += m.Value + "\n";
}
/*-----输出-----
蒙牛牛奶现致癌x性黄曲霉毒素M1
特仑苏事件
小学生饮用蒙牛纯牛奶集体中毒事件
*/