Javascript 与任何数字匹配的正则表达式模式包括1-9,2除外

Javascript 与任何数字匹配的正则表达式模式包括1-9,2除外,javascript,jquery,regex,Javascript,Jquery,Regex,我需要一个正则表达式模式,它匹配任何数字,包括1-9个数字,除了2 我的尝试: ([1-9][^2]) 但这对我不起作用。你可以用[0-13-9]匹配2之前和之后的数字范围,如下所示: "4526".match(/[0-13-9]+/) ["45"] "029".match(/[0-13-9]+/) ["0"] "09218".match(/[0-13-9]+/) ["09"] 这个RegExp可以工作:/([013-9])/另一种方法: /[^\D2]/ 也就是说,不是非数字或2。或者这

我需要一个正则表达式模式,它匹配任何数字,包括1-9个数字,除了2

我的尝试:

([1-9][^2])

但这对我不起作用。

你可以用
[0-13-9]
匹配2之前和之后的数字范围,如下所示:

"4526".match(/[0-13-9]+/)
["45"]
"029".match(/[0-13-9]+/)
["0"]
"09218".match(/[0-13-9]+/)
["09"]
这个RegExp可以工作:
/([013-9])/
另一种方法:

/[^\D2]/

也就是说,不是非数字或2。

或者这也是正确答案


/(?!2)\d/

([1,3-9])怎么样this@MohammadMasoudianYograjGupta的正则表达式也将匹配逗号。例如“1,9,,,,,8”会匹配。@Lepidosteus,是的,你是对的。你的模式,因为(到目前为止)解释的答案都不会匹配1-9范围内的一个数字,后面紧跟着除“2”以外的任何字符。正则表达式如何识别该范围内1和13之间的差异?@Mohammasudian正则表达式不知道“13”13。我只知道一个字符。如果我也想拒绝零数字,怎么做?@MohammadMasoudian:只要从范围中删除零,
[13-9]
就可以了。
0-1
?你可以说
01
。相当优雅,我喜欢:)披露:我从这个答案中发现了这个巧妙的窍门