Regex 某些特定数的正则表达式
我想验证用户输入字段,只允许用户输入+1、+1、+10、+10和+25、-25,其他什么都不允许。此限制的正则表达式是什么?请尝试:Regex 某些特定数的正则表达式,regex,Regex,我想验证用户输入字段,只允许用户输入+1、+1、+10、+10和+25、-25,其他什么都不允许。此限制的正则表达式是什么?请尝试: /^[-+](1|10|25)$/ 它将允许6种可能性中的一种。您没有指定正则表达式应该使用的语言,但这应该可以: [+-][12][05]?我不会为regexp费心。想必,您最终需要将数字从字符串解析为int,是吗?在这种情况下,您可以立即解析它并检查结果是否符合预期,尽管这不会强制执行“+”符号(如果这是强制性的),但在解析之前手动检查符号会很简单。如果您绝
/^[-+](1|10|25)$/
它将允许6种可能性中的一种。您没有指定正则表达式应该使用的语言,但这应该可以:
[+-][12][05]?
我不会为regexp费心。想必,您最终需要将数字从字符串解析为int,是吗?在这种情况下,您可以立即解析它并检查结果是否符合预期,尽管这不会强制执行“+”符号(如果这是强制性的),但在解析之前手动检查符号会很简单。如果您绝对只允许指定的输入,而不允许其他输入,则以下正则表达式将执行此操作:
/^[-+](1|10|25)$/
但是,如果有人输入“10”——即“+10”,但没有加号怎么办?这是允许的还是不允许的?你还没有具体说明。如果是,则+/-需要是可选的,因此正则表达式更改为:
/^[-+]?(1|10|25)$/
请注意,此正则表达式还具有开始和结束锚定(即
^
和$
),这意味着它不允许字符串中包含任何其他字符。如果没有它们,它可以匹配在其他文本中包含“+20”的字符串。它还允许+15
/-15
,不允许+1
/-1
否,因为它将允许“15”和“20”。例如,您必须锚定正则表达式使其不匹配-1000它可以工作-选中。在你的答案中提供一些代码,我会检查它。