日期:2014-05-17  浏览次数:20939 次

如何用正则表达式截取字符串中需要的内容
问题描述:

string strContent = "昨日凌晨3时,一条@云南:123456 @绿春:112233 刚修好的二级公路试通车不到两个月,整条路飞下悬崖,正宗的豆腐渣工程的微博在网络上疯传,截至昨日下午,该@微博:654321 转载次数达近万次。面对网友的质疑,昨日下午,@绿春:112233 县委宣传部回应,进入雨季以来,@绿春:112233 县境普降大雨,造成该县两条主要公路干道发生山体滑坡,公路中断。"

以上内容,需要用正则表达式,截取其中的内容。即以@符号开头,中间包含:符号,并且:符号之后包含6个数字和1个空格

截取之后的字符串为:

string result = "昨日凌晨3时,一条刚修好的二级公路试通车不到两个月,整条路飞下悬崖,正宗的豆腐渣工程的微博在网络上疯传,截至昨日下午,该转载次数达近万次。面对网友的质疑,昨日下午,县委宣传部回应,进入雨季以来,县境普降大雨,造成该县两条主要公路干道发生山体滑坡,公路中断。"

并且需要得到内容:

string[] strArr包含内容
@云南:123456
@绿春:112233
@微博:654321


请问如何实现?

------解决方案--------------------
C# code
MatchCollection mc = Regex.Matches(yourStr,@"@\D+\d+");
foreach (Match m in mc)
{
    MessageBox.Show(m.Value);
}