我想用C#匹配以下模式匹配,并没有得到匹配发现正则表达式是不是在C#
正则表达式
^([[a-z][A-Z]]*):([[a-z][A-Z][0-9],]*)$
样品字符串
Student:Tom,Jerry
而同样的事情在红宝石中工作(使用Rubular进行验证)。任何想法为什么这不是在C#中工作?
代码块
public static KeyValuePair<string, IList<string>> Parse(string s)
{
var pattern = new Regex(@"(\w*):([\w\d,]*)");
var matches = pattern.Matches(s);
if (matches.Count == 2)
{
return new KeyValuePair<string, IList<string>>(matches[0].Value, matches[1].Value.Split(','));
}
throw new System.FormatException();
}
真的不是不熟悉c,任何你需要逃避的东西吗? – Sturm 2012-07-24 19:18:16
你正在做的范围错误,应该是:'^([a-zA-Z] *):([a-zA-Z0-9,] *)$' – hazzik 2012-07-24 19:20:16
[RegExr](http://gskinner.com/RegExr /)对于这类事情来说是一个很好的工具:下面是你的示例[working](http://regexr.com?31kih)和[not working](http://regexr.com?31kik)。 – RichardTowers 2012-07-24 19:23:48