【发布时间】:2009-02-09 16:19:09
【问题描述】:
我在表单上有一个字段,它采用以下值:-1、2-10、99
我有一条与答案 2-10 相关的业务规则。
我正在尝试编写一个匹配 2-10 但不 99的正则表达式,我遇到了麻烦。
原话:
^2|3|4|5|6|7|8|9|10$
失败,因为 99 匹配(技术上,两次)。此外,Line 边界是我从未感到舒服的东西。我在 expresso 中观察到的行为与在其他地方(例如 .net)不同。在这个特定的实例中,正则表达式在 javascript 中运行。无论如何,expresso 似乎忽略了它们(如果我将值放在括号中:
^[2|3|4|5|6|7|8|9|10]$
^[2-9]$
“全部拼写”或作为一个范围,如果我指定开始行/字符串结束行/字符串字符,expresso 永远不会返回任何匹配项(是的,我试图在第二种情况下单独匹配 10 个) .
我知道,我知道。如果您使用正则表达式来解决问题,那么您将遇到两个问题(并且大概他们会开始邀请朋友过来,事物 1 和事物 2 风格)。我没有必须在这里使用一个;我可能会切换到案例陈述。但似乎我应该可以在这里使用正则表达式,这似乎是一件合理的事情。当谈到正则表达式时,我仍然很年轻;
【问题讨论】:
标签: javascript regex numeric-ranges