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