Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 某些特定数的正则表达式_Regex - Fatal编程技术网

Regex 某些特定数的正则表达式

Regex 某些特定数的正则表达式,regex,Regex,我想验证用户输入字段,只允许用户输入+1、+1、+10、+10和+25、-25,其他什么都不允许。此限制的正则表达式是什么?请尝试: /^[-+](1|10|25)$/ 它将允许6种可能性中的一种。您没有指定正则表达式应该使用的语言,但这应该可以: [+-][12][05]?我不会为regexp费心。想必,您最终需要将数字从字符串解析为int,是吗?在这种情况下,您可以立即解析它并检查结果是否符合预期,尽管这不会强制执行“+”符号(如果这是强制性的),但在解析之前手动检查符号会很简单。如果您绝

我想验证用户输入字段,只允许用户输入+1、+1、+10、+10和+25、-25,其他什么都不允许。此限制的正则表达式是什么?

请尝试:

/^[-+](1|10|25)$/

它将允许6种可能性中的一种。

您没有指定正则表达式应该使用的语言,但这应该可以:


[+-][12][05]?

我不会为regexp费心。想必,您最终需要将数字从字符串解析为int,是吗?在这种情况下,您可以立即解析它并检查结果是否符合预期,尽管这不会强制执行“+”符号(如果这是强制性的),但在解析之前手动检查符号会很简单。

如果您绝对只允许指定的输入,而不允许其他输入,则以下正则表达式将执行此操作:

/^[-+](1|10|25)$/
但是,如果有人输入“10”——即“+10”,但没有加号怎么办?这是允许的还是不允许的?你还没有具体说明。如果是,则+/-需要是可选的,因此正则表达式更改为:

/^[-+]?(1|10|25)$/

请注意,此正则表达式还具有开始和结束锚定(即
^
$
),这意味着它不允许字符串中包含任何其他字符。如果没有它们,它可以匹配在其他文本中包含“+20”的字符串。

它还允许
+15
/
-15
,不允许
+1
/
-1
否,因为它将允许“15”和“20”。例如,您必须锚定正则表达式使其不匹配-1000它可以工作-选中。在你的答案中提供一些代码,我会检查它。