From f1fec04c56ddbfe9283c48f900e4b52f6e79a687 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Mon, 22 Oct 2007 16:41:53 +0000 Subject: [PATCH] my confusion on matches vs. groups in regex. This should work a bit better --- OpenSim/Region/Environment/Modules/ChatModule.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs index 5a31e0be3f..f60b5ff81a 100644 --- a/OpenSim/Region/Environment/Modules/ChatModule.cs +++ b/OpenSim/Region/Environment/Modules/ChatModule.cs @@ -326,12 +326,12 @@ namespace OpenSim.Region.Environment.Modules Regex RE = new Regex(regex, RegexOptions.Multiline); MatchCollection matches = RE.Matches(input); // Get some direct matches $1 $4 is a - if (matches.Count == 4) { + if ((matches.Count == 1) && (matches[0].Groups.Count == 4)) { result = new Dictionary(); - result.Add("nick", matches[0].Value); - result.Add("user", matches[1].Value); - result.Add("channel", matches[2].Value); - result.Add("msg", matches[3].Value); + result.Add("nick", matches[0].Groups[0].Value); + result.Add("user", matches[0].Groups[1].Value); + result.Add("channel", matches[0].Groups[2].Value); + result.Add("msg", matches[0].Groups[3].Value); } else { m_log.Verbose("IRC", "Number of matches: " + matches.Count); }