正则表达式从列表中排除数字

时间:2017-03-03 11:33:23

标签: html regex

我想使用<input&gt;的正则表达式模式形式元素。

在这种模式中,我想提出一系列不允许作为输入的数字。

例如,我会有一个数字{1,4,10}列表,允许输入任何数字除外。

我设法创建了这个正则表达式:

[^(1|4|10)]

但是这也排除了包含0,1或4的所有内容,例如10。

2 个答案:

答案 0 :(得分:2)

如果允许否定前瞻,那么您可以尝试以下正则表达式:

^(?!(?:1|4|10)$)\d+$

Regex101

答案 1 :(得分:0)

你不需要在这里使用一个字符类(即[]),因为|已经意味着'这个角色或那个角色'。 相反,使用:

    ^(1|4|10)$

^匹配字符串的开头,$匹配字符串的结尾,所以这只匹配1(没有别的),4(没有别的)或10(没有别的)。

顺便说一句,要测试正则表达式,您可以使用https://regex101.com/等在线测试程序。