【发布时间】:2011-01-29 15:52:55
【问题描述】:
我需要验证用户输入的答案对于在线测验是否正确。
答案应该是一个十进制数,可以通过多种不同的方式输入。例如,
0.666666...
可以匹配
.66
.67
.66666
.667
0.6667
等等
基本上,我想忽略舍入、精度和前面的零。我找到的示例用于匹配任何十进制数字。
谢谢,
RT
编辑 -
我正在为 WebCT 编写一个测验。它允许匹配正确答案的三个选项:“等于”、“包含”和“正则表达式”。我相信 WebCT 是基于 Java 的。但我不能确定它使用什么风格的正则表达式。我可以要求用户提供最多三位小数的正确答案。在这种情况下,正确答案可能是以下四种之一: 0.666 0.667 .666 .667
【问题讨论】:
-
为什么是正则表达式?为什么?而是告诉我们您使用的是什么语言,我们会给您合理的答案。
-
什么语言?为什么需要正则表达式?这不是正则表达式的完美选择。
-
您需要更具体。正则表达式是纯文本的,没有“可以以多种不同方式表示的十进制数”的概念
-
RE 匹配对数字一无所知,它只是匹配文本。为什么不能将字符串匹配为有效的数字字符串,将其转换为浮点数,然后使用所需值周围的增量范围进行算术比较?
标签: regex