请教,如何用正则表达式分割如下字符串?
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]+");
------解决方案--------------------