首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请问,怎么用正则表达式分割如上字符串

2012-09-02 
请教,如何用正则表达式分割如下字符串?string pattern@^@.*\sMatchCollection mymatches Regex.Matc

请教,如何用正则表达式分割如下字符串?
string pattern=@"^@.*\s";
MatchCollection mymatches = Regex.Matches(SS,pattern);
string[] arr = mymatches[0].ToString().Split(new char[]{'@'});
如果SS是“@你@我@他@所有人 我对大家说一句话”,这样能实现分割得到你、我、他、所有人四个用户名。
但是如果我想实现分割“@你 对你说@我 对自己说@他 对他说@所有人 这是对所有人说”得到你、我、他、所有人,这该怎么实现呢?正则表达式我那样写好像实现不了

[解决办法]

C# code
            string source = "@你 对你说@我 对自己说@他 对他说@所有人 这是对所有人说";            Regex reg = new Regex(@"(?is)(?<=@).*? ");            MatchCollection mc = reg.Matches(source);            foreach (Match m in mc)            {                MessageBox.Show(m.Value);            }
[解决办法]
Regex reg = new Regex(@"@[^\s]+");
[解决办法]
探讨
引用:
试试,

C# code


string str = @"@你 对你说@我 对自己说@他 对他说@所有人 这是对所有人说";
Regex reg = new Regex(@"(?<=@)[^\s]+");
foreach (Match m in reg.Matches(str))
……

真厉害,这个可以啊,不过我想得到@你@我@他@所有人,就是在前……

热点排行