我正在使用解析器,它错误地将IP地址解析为double值。由于我对正则表达式一无所知,请看一下:
AddRule<double>("!!float", @"[-+]?(0|[1-9][0-9_]*)\.[0-9_]*([eE][-+]?[0-9]+)?",
m => Convert.ToDouble(m.Value.Replace("_", "")), null);
AddRule<double>("!!float", @"[-+]?\._*[0-9][0-9_]*([eE][-+]?[0-9]+)?",
m => Convert.ToDouble(m.Value.Replace("_", "")), null);
AddRule<double>("!!float", @"[-+]?(0|[1-9][0-9_]*)([eE][-+]?[0-9]+)",
m => Convert.ToDouble(m.Value.Replace("_", "")), null);
有没有一些快速解决方法? (错误在第一个lambda表达式上)
答案 0 :(得分:1)
好吧,这就行了。
AddRule<double>("!!float", @"^[0-9]*(?:\.[0-9]*)?$",
m => Convert.ToDouble(m.Value.Replace("_", "")), null);