【发布时间】:2013-11-21 09:08:17
【问题描述】:
我有以下正则表达式:
Regex.IsMatch(someString, "[1-9][0-9]*\.[0-9]")
我希望 someString 只允许像 x.y 这样的表单,其中 x > 0 和 0 <= y <= 9。
但它不会像例外一样工作,一个例子:
someString = "1.02"
Regex.IsMatch(someString, "[1-9][0-9]*\.[0-9]")
等于true,但这不可能
我还尝试了另一个正则表达式:
Regex.IsMatch(someString, "[1-9][0-9]*\.[0-9]{1}")
但这并没有什么区别......还是我的模式中缺少什么?
【问题讨论】:
-
0 >= y >= 9 不可能是正确的...因为 y 必须同时为负数且大于 9,这根本行不通。请再次描述您希望 y 成为哪些值。
-
我注意到您的正则表达式字符串无效,因为
\.将报告为“无法识别的转义序列”。您应该确保您提供的代码正在完成工作。 :) -
@Igle:我认为您可能需要重新阅读它。我不确定你从哪里得到 x 必须是负数并且大于 9 并且 y 是一个数字(这基本上是这样说的)对我来说似乎很好。
-
应该是
0 <= y <= 9,我弄混了抱歉。 -
0 >= y >= 9 只是一个没有 y 解的方程。作者刚刚在他的问题中将其更正为 0