小弟分析CodeSmith,在NHibernate.cst中有这么一段代码小弟没看懂,请高手指教:代码原文:
public string MakePlural(string name)
{
Regex plural1 = new Regex("(?<keep>[^aeiou])y$");
Regex plural2 = new Regex("(?<keep>[aeiou]y)$");
Regex plural3 = new Regex("(?<keep>[sxzh])$");
Regex plural4 = new Regex("(?<keep>[^sxzhy])$"); if(plural1.IsMatch(name))
return plural1.Replace(name, "${keep}ies");
else if(plural2.IsMatch(name))
return plural2.Replace(name, "${keep}s");
else if(plural3.IsMatch(name))
return plural3.Replace(name, "${keep}es");
else if(plural4.IsMatch(name))
return plural4.Replace(name, "${keep}s"); return name;
}请问类似 new Regex("(?<keep>[^aeiou])y$") 这样的写法的作用?
正则我懂一些,但<keep>这里看不懂;
还有就是,整个 MakePlural(string name) 方法的作用是什么?
谢谢!