正则表达式不必要地分裂期间

时间:2014-05-30 19:42:33

标签: c# regex

我正在使用此正则表达式分割字符串。

 inputSplit =  Regex.Split(temp, @"([/+-/*x/÷///²/√])") 

这个表达式应该在+ - * x÷/²上分开。除非我输入十进制数,否则这个效果很好。 如果我做1 + .002它会分成1,+,。,002。我无法找出为什么它从.002中分割出小数。我想它可能是我的一个特殊角色?谢谢

2 个答案:

答案 0 :(得分:4)

我认为您需要修改\

旁边可能缺少-的表达式
([+\-*x÷²√])

Online Demo

我认为这会回复您的预期结果:

var results = Regex.Split("1+.002", @"([+\-*x÷²√])", RegexOptions.None);

答案 1 :(得分:2)

您的+-/+/之间的任何内容都匹配。

@"([+\-/*x÷²√])"