【发布时间】:2010-12-09 16:09:05
【问题描述】:
我一直在这个问题上花费数小时,到处寻找...... 我的问题很简单:我们要检查用户输入的正确数字。 它可以是整数或带逗号而不是点的小数,以及逗号后的无限数。
我试过了
Regex decimalRegex = new Regex(@"\d+(,\d+)?");
我认为没问题,但例如:如果我尝试使用 IsMatch,2,324e 是真的。 此外,点和逗号之间没有区别,所以这个 2.23 可以使用 IsMatch 和我的正则表达式。
但我希望允许使用数字 2 :
2
2,2
2,3243241428483248
31324,232332 (infinite numbers before and after)
并禁止:
2.2
2,2434214e (any letter)
最好禁止(我认为 ? 可以解决问题,但事实并非如此)...
2,2,2 or
2.2.2
只允许昏迷一次... 否则我在法国文化中
正则表达式中的任何冠军都会有建议吗? 我什至下载了 Expresso 来完成这项工作,但我做不到..
【问题讨论】:
-
等等...你的 RE 与 2.23 的匹配度如何?你说它找到 2.23 你确定它匹配 2.23 吗?
-
我知道,点没问题我不知道为什么,它不应该但它通过了......我不明白为什么正则表达式看不到 , 和 之间的任何区别。跨度>